对于小型的数据库,我们可以直接使用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的部分截图: