1、查看slave状态
show slave status\G
2、停止slave状态,清除从库主从信息
stop slave;
reset slave all;
3、将从库已同步主库数据库删除
DROP DATATBASE DBNAME;
4、备份主数据库数据 mysqldump -uusername -ppassword --set-gtid-purged=OFF --single-transaction --master-data=1 dbname > dbname.sql
--single-transaction 启用一个事务来进行备份操作,备份过程中不会对数据库进行锁操作 --master-data=1 备份必须加上此参数。当这个参数的值为1的时候,mysqldump出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,在slave上导入数据时就会执行这个语句,salve就会根据指定这个文件位置从master端复制binlog
5、将备份文件导入到从服务器 将备份过来的数据导入到从服务器
CREATE DATABASE DBNAME;
source /dbname.sql
导入之后查看数据是否导入成功
6、查看主服务器备份数据MASTER_LOG_FILE地址及MAST_LOG_POS位置
cat dbname.sql |grep "MASTER_LOG_FILE"
-- CHANGEMASTER TO MASTER_LOG_FILE='mysql-bin.000015', MASTER_LOG_POS=7334223423;
7、执行同步语句,这里填写的binlog日志文件及偏移量位置为第6步中的MASTER_LOG_FILE地址MAST_LOG_POS的值
CHANGE MASTER TO MASTER_HOST='192.12.122.23',MASTER_USER='rep',MASTER_PASSWORD='slavepass',MASTER_LOG_FILE='mysql-bin.000015',MASTER_LOG_POS=7334223423;
8、启动slave
start slave;
9、查看slave状态
show slave status\G
查看slave两个线程是否为YES状态
Slave_IO_Running:Yes Slave_SQL_Running:Yes