场景:有同事需要把从库中的数据,同步一份到新环境,但发现在主库上执行count语句,和从库上执行count语句得出的结果不同。
解决思路:
在从库上执行 show slave status G ,查看返回结果:
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.118
Master_User: bak
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000728
Read_Master_Log_Pos: 586670704
Relay_Log_File: mysqld-relay-bin.002178
Relay_Log_Pos: 457911949
Relay_Master_Log_File: mysql-bin.000709
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB: mydb
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1062
Last_Error: Error "Duplicate entry "XXXXXXX" for key 2" on query. Default database: "mydb". Query: "INSERT INTO `network` (`uuid`, `machine_name`, `port`, `update_time`) VALUES ("5""
Skip_Counter: 0
Exec_Master_Log_Pos: 457911812
Relay_Log_Space: 20988097167
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: null
1 row in set (0.00 sec)发现从库在同步时出错,没有能正常同步,解决方法:
第一:停止slave,slave stop;
第二:跳过一条出错的语句:set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
第三:启动slave,slave start;
第四:使用show slave status G 查看当前的同步情况,如果Slave_SQL_Running: Yes,则成功,如果Slave_SQL_Running: No,则再次执行一到四。如果不想一次次重复,可以在第二步中跳过多条错误的语句。最后看看当前从库与主库的时间差:Seconds_Behind_Master: 197011解决MySQL访问时无法切换数据库的问题.Reading table information for completion of table and column namesLinux取得Redis数据库中hash类型的所有feild或者所有value相关资讯 MySQL主从 MySQL主从库数据不一致
- MySQL主从环境下存储过程,函数, (今 07:26)
- 在 CentOS7 上部署 MySQL 主从 (08月20日)
- 恢复MySQL主从数据一致性的总结 (12/29/2015 22:14:15)
| - XtraBackup构建MySQL主从环境 (09月01日)
- MySQL主从失败使用bin-log恢复 (02月20日)
- MySQL5.6 主从复制配置 (12/21/2015 19:10:09)
|
本文评论 查看全部评论 (0)