如果MySQL主从同步不匹配严重,则需要手动同步。
首先,对锁定时钟时的操作进行说明。
以下是其简单过程
1 .首先将时钟锁定在主库中
flush tables with读取锁定;
2 .数据备份
mysqldump-uroot-p-h localhost MySQL.bak.SQL
3 .解锁主库
解锁表;
4 .显示主库的binlog文件和位置
显示主状态; 找到文件和位置
5 .使用scp命令将文件移动到从库
scp MySQL.bak.SQL [电子邮件保护] :/tmp /
6 .从库中停止同步
mysql stop slave;
7 .导入数据
mysql source /tmp/mysql.bak.sql
8 .设置库的同步开始文件和开始位置
change master to master_host=‘“主库主机”,master_user=‘“同步用户名”,master_port=3306,master _ pasword=“
9 .从库中启动和检查同步
mysql start slave;
显示mysql show slave statusG :
Slave_IO_Running: Yes
slave _ SQL _ running :是
不锁定时钟的方法
不需要执行步骤1和3。 在导出数据时添加参数
mysqldump---- skip-lock-tables---single-transaction---flush-logs---hex-blo B--master-data=
--skip-lock-tables不锁定时钟
--master-data=2导出时,在导出文件的开头同时生成binlog文件名和位置。 这很重要。 因此,也不需要执行步骤4。 binlog的文件和位置可以从这里获得。
--single-transaction通过将导出操作封装到事务中,使导出的数据成为一致的快照
最后用在导出文件开头找到的带注释的file和position替换步骤8中的binlog文件和位置即可。
译文: https://www.cn blogs.com/xy hero/p/9343747.html