MySQL安装请参考: https://blog.csdn.net/China_hdy/article/details/94843449
主数据库1: 192.168.35.128 主数据库2: 192.168.35.129
修改MySQL配置文件: vi /etc/my.cnf
主数据库1:
#
开启二进制同步
log-bin=mysql-bin
#
设置ID,不能重复,可以使用IP最后一位数字
server-id=128
#
需要同步的数据名称,多个数据库则要重复设置: bin-do-db,bin-ignore-db为互斥关系, 只需设置其中一项即可
replicate-do-db=xxx
#
自增长字段初始值为1
auto-increment-offset=1
#
自增长字段增量值
auto-increment-increment=2
#
跳过所有复制的错误
slave-skip-errors=all
主数据库2:
#
开启二进制同步
log-bin=mysql-bin
#
设置ID,不能重复,可以使用IP最后一位数字
server-id=129
#
需要同步的数据名称,多个数据库则要重复设置: bin-do-db,bin-ignore-db为互斥关系, 只需设置其中一项即可
replicate-do-db=xxx
#
自增长字段初始值为1
auto-increment-offset=2
#
自增长字段增量值
auto-increment-increment=2
#
跳过所有复制的错误
slave-skip-errors=all
设置两个数据库相互访问权限
主数据库1:
grant replication slave on *.* to 'sqlsync'@'192.168.35.129' identified by 'sqlsync';
flush privileges;
主数据库2:
grant replication slave on *.* to 'sqlsync'@'192.168.35.128' identified by 'sqlsync';
flush privileges;
重启数据库
主数据库1:
systemctl restart mysqld
主数据库2:
systemctl restart mysqld
互告bin-log信息
进入MySQL命令行:
主数据库1:
查看日志:
show master status;
设置同步:
change master to master_host='192.168.35.129',
master_user='sqlsync',master_password='sqlsync',master_log_file='mysql-bin.000001',master_log_pos=154;
备注: master_log_file与File值一致, master_log_pos与Position值一致
开始同步:
start slave;
查看同步情况:
show slave status\G;
当看到了两个yes,即:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
说明已经配置成功了
主数据库2:
查看日志:
show master status;
设置同步:
change master to master_host='192.168.35.128',
master_user='sqlsync',master_password='sqlsync',master_log_file='mysql-bin.000001',master_log_pos=154;
备注: master_log_file与File值一致, master_log_pos与Position值一致
开始同步:
start slave;
查看同步情况:
show slave status\G;
当看到了两个yes,即:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
说明已经配置成功了