数据库版本:5.6.27
数据库引擎:Federated,无法和GTID模式兼容
关键步骤:
首先要导出主库数据,注意导出主库数据之前需要锁表:
> FLUSH TABLES WITH READ LOCK;
在主库上执行 show master status; 确定binlog值和POS值
授权同步账号:
> grant replication slave,replication client on *.* to 'rep'@192.168.1.%' identified by 'D1L8Sf';
> flush privileges;
导出主库数据:
# mysqldump -S /data/mysql/3308/mysql.sock -A >/tmp/all3308.sql
将导出的数据rsync到从库的/tmp目录下:
# rsync -rav /tmp/all3308.sql root@192.168.1.24:/tmp/
这个时候从库为刚刚进行初始化的新库,进入数据库并导入数据:
>source /tmp/all3308.sql
数据导入完毕之后,开始导入必须的触发器triggers,包括user1-user16、login、recommend数据库共18个触发器文件
注意导入之前需要修改触发器文件中对应的IP,应修改为192.168.1.%
触发器导入完毕之后需要删除pengCloud库:
>drop database pengCloud;
从主库上导出pengCloud数据库的表结构文件,并编辑这个sql文件,将建表语句中需要对应的IP改成192.168.1.24
导入pengCloud库的表结构语句:
>source pengCloud.sql;
重置slave:
>reset slave;
连接主库:
>change master to master_host='192.168.1.23', master_port=3308,master_user='rep', master_password='D1L8Sf', master_log_file='master-bin.000007', master_log_pos= 2555346;
注意上一条语句中的master_log_file值和master_log_pos值,需要和主库中的一致
开启同步:start slave;
注意同步正常之后不要忘记打开主库的锁表:UNLOCK TABLES;