mysqldump 创建基于GTID的从库

对于小型的数据库,我们可以直接使用mysqldump全库导出导入来创建从库。

试验环境:
  CentOS6.8 x86_64
  MySQL5.6.34 社区rpm版
  主库:node0 192.168.2.10

  从库:node1 192.168.2.11

5.6下GTID复制必须配的参数(主库和从库都要加上这3行参数):
  gtid-mode=ON
  enforce_gtid_consistency = ON
  log_slave_updates=ON

step1、在主库导出并scp传输到node1:
mysqldump -uroot -pwww.Mwbyd91@ -A -q --single-transaction --master-data=2 > /root/all.sql
scp /root/all.sql node1:/root/

step2、在node1上恢复进去:
node1新安装的没有密码,执行mysql即可登录
source /root/all.sql;

step3、在node1上启动复制:
CHANGE MASTER TO MASTER_HOST='192.168.2.10',
 MASTER_USER='rpl',
 MASTER_PASSWORD='rpl',
 MASTER_PORT=3306,
 MASTER_AUTO_POSITION=1;

start slave;
show slave status\G

# 说明:
mysqldump这种方式的导入不需要像innobackup那样执行set global gtid_purged='xxxxx'; 这类的操作。因为在mysqldump导出的sql里面有自动设置的地方,如下图是导出的all.sql的部分截图:

mysqldump 创建基于GTID的从库

相关推荐