实现主从复制:

  1. master(主数据库)将改变的数据记录在本地的二进制日志中,该过程称之为二进制事件。
  2. slave(从数据库)将master的二进制日志拷贝到自己的中继日志中。
  3. 将数据读取到自己的数据库中,中继日志事件。

MySQl主从复制是异步的,串行化的,有延迟

配置前

关闭防火墙,授权

1. 配置主数据库(以下操作在主数据库中操作)

my.cnf配置文件

[mysqld]
# 主机id唯一标识
server-id=1
# 二进制文件
log-bin='/文件路径/log-bin'
# 错误记录文件
log-error='/文件路径/error-bin'
# 主从同步时忽略的数据库
binlog-ignore-db=mysql_test
# (可选)指定同步的数据库
binlog-do-db=master

** 主数据库授权哪个数据库是从数据

GRANT REPLICATION SLAVE ON *.* to 'remoteRoot’@‘%’ identified by 'remoteRoot'; //一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,192.168.145.226,加强安全。

查看主数据库状态:show master status

2. 配置从数据库(以下操作在数据库中操作)

my.cnf配置文件

[mysqld]
# 主机id唯一标识
server-id=2
# 二进制文件
log-bin='/文件路径/log-bin'
# 错误记录文件
log-error='/文件路径/error-bin'
# 需要复制的数据库
replicate-do-db=master

从数据库授权哪个数据库为自己的主数据

change master to master_host='192.168.1.1',master_user='remoteRoot',master_password='WrDFFwedw',master_log_file='mysql-bin.000001',master_log_pos=403;   //注意不要断开,308数字前后无单引号。

开启主从复制

再从数据库中 start salve;
show slave status;
开启主从复制