# 1=================master==================
# 设置server-id,两节点必须不一样
server-id = 100
# 开启bin_log,模式为ROW,允许最大日志为1G
log_bin = mysql-bin
binlog_format = ROW
max_binlog_size = 1024M
# mysql5.7的版本不需要配置log-slave-updates=1
# log-slave-updates = 1
# 实现数据库宕机恢复后,自动同步缺少的数据
relay_log = mysql-relay-bin
# 设置自增ID初始值为2,每次自增量为2。即都是偶数2,4,6,8,...
auto_increment_offset = 2
auto_increment_increment = 2
# 开启gtid
gtid_mode = ON
enforce_gtid_consistency = 1
# 需要同步的库
binlog_do_db = double_master_test
replicate-do-db = double_master_test
#跳过所有错误
slave-skip-errors = all
# 2============slave=============
# 设置server-id,两节点必须不一样
server-id = 200
# 设置自增ID初始值为1,每次自增量为2。即都是奇数1,3,5,7,...
auto_increment_offset = 1
auto_increment_increment = 2
# 3=========在master上创建用户=========
# 在节点A上创建账号repl_user,允许从任意IP访问,密码为slave@100,
# 重启数据库
grant replication slave on *.* to 'repl_user'@'%' identified by '123';
flush privileges;
reset master;
show master status;
# 4========在slave上同步master==========
# 重启数据库
stop slave;
change master to master_host='192.168.2.224', master_user='repl_user',master_password='123',master_port=3306, master_auto_position=1;
start slave;
show slave status\G;
# Slave_IO_Running,Slave_SQL_Running都为Yes就是成功了
# 5=========================
以上已经实现主从
重复3,4步骤,但要颠倒过来,在master做slave,在slave上做master,就实现了主主
# 6===========杂项===========
# ==========解决1236问题========
show global variables like '%gtid%';
找到gtid_purged的值
set @@global.gtid_purged='你的GITD值';
# =========主从过程遇到问题是否跳过=========
slave-skip-errors = all