主从复制原理:
master的增删改记录写入binlog;
slave的I/O Thread(负责读取master的binlog)读取binlog并将记录写入relaylog;
slave的sql thread读取relaylog同步到库;
主主结构:两个节点既是主节点,又是从节点
主主复制主键冲突:A节点插入了一条主键为4的数据,这条数据要同步到B节点,但是B节点存在了主键为4的数据,这时候就会失败!
解决:
让1台服务器 1,3,5,7来增长
另1台服务器 2,4,6,8来增长
一台服务器:
set global auto_increment_increment = 2; // 全局
set global auto_increment_offset = 1;
set session auto_increment_increment = 2; //当次连接
set session auto_increment_offset = 1;
另一台服务器:
set global auto_increment_increment = 2;
set global auto_increment_offset = 2;
set session auto_increment_increment=2;
set session auto_increment_offset = 2;
有几台服务器,auto_increment_increment就设置几,比如3台服务器,auto_increment_increment=3, 3台服务器的auto_increment_offset依次开始为,1,2,3