1. GTID概念
简化了很多主从复制上面的问题。不需要像之前版本需要通过binlog的pos来确定从哪开始复制。
GTID = source_id:transaction_id
source_id是一个mysql自动生成的uuid,在datadir下面的auto.cnf里面,例如:
1
| server-uuid=6cdd37fa-d3d8-11e6-b843-00163e0030cf
|
transaction_id是事务id,递增的一个序列。连起来标识一个事务。
2. master上面设置
1 2 3 4 5 6 7
| binlog-format=ROW log-slave-updates=true gtid-mode=on enforce-gtid-consistency=true log-bin=master-bin log-bin-index=master-bin.index server_id = 1
|
主要就是加了gtid-mode,enforce-gtid-consistency
3. slave设置
1 2 3 4 5 6 7 8
| server_id = 222 gtid-mode=on log-bin=slave-bin log-slave-updates=true enforce-gtid-consistency=true binlog-format=ROW log-bin-index=slave-bin.index relay-log=slave1-relay-bin
|
4. grant权限
1 2
| CREATE USER 'repl'@'%' IDENTIFIED BY 'slavepass'; grant REPLICATION SLAVE ON *.* TO 'repl'@'%';
|
5. change master
1
| change master to master_host='10.168.105.153', master_user='repl',master_password='slavepass',master_auto_position=1;
|
6. 启动slave