主从复制原理:sql
1.master的增删改记录写入binlog;服务器
2.slave的I/O Thread(负责读取master的binlog)读取binlog并将记录写入relaylog;session
3.slave的sql thread读取relaylog同步到库;blog
主主结构:两个节点既是主节点,又是从节点rem
主主复制主键冲突:A节点插入了一条主键为4的数据,这条数据要同步到B节点,可是B节点存在了主键为4的数据,这时候就会失败!同步
解决:io
让1台服务器 1,3,5,7来增加ast
另1台服务器 2,4,6,8来增加thread
一台服务器:原理
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