主从复制错误处理总结


错误一

ERROR] Slave I/O: error connecting to master 'replication@VMS00782:3306' - retry-time: 60  retries: 2, Error_code: 1045
 
 

错误原因:从库用来连接主库的用户权限或者密码不对

解决方法:首先在主库上检查用来主从复制的用户权限,如果没有问题在检查从库使用的密码是否正确。

错误二


 
 
  1. 140331 10:08:18 [ERROR] Error reading master configuration
  2. 140331 10:08:18 [ERROR] Failed to initialize the master info structure
  3. 140331 10:08:18 [Note] Event Scheduler: Loaded 0 events
错误原因:这个可能是从库的master.info文件有损坏。

解决方法:reset slave

错误三

Error 'Duplicate entry '1' for key 1' on query. Default database: 'movivi1'. Query: 'INSERT INTO `v1vid0_user_samename` VALUES(null,1,'123','11','4545','123')'
 
 
错误原因:可能是从库的约束比主库更多写造成的。

解决方法:

Mysql > stop slave;
Mysql > set global sql_slave_skip_counter =1 ;
Mysql > start slave;

错误四

Slave SQL: Error 'Table 'xxxx' doesn't exist' on query. Default database: 't591'. Query: 'INSERT INTO `xxxx`(type,post_id,browsenum) SELECT type,post_id,browsenum FROM xxxx WHERE hitdate='20090209'', Error_code: 1146
 
 

错误原因:slave上缺少错误中的表。

解决方法:在slave上添加上对应的表,然后start slave。

错误五


 
 
  1. Error 'Unknown column 'qdir' in 'field list'' on query. Default database: 'club'. Query: 'insert into club.question_del (id, pid, ques_name, givepoint, title, subject, subject_pid, createtime, approve, did, status, intime, order_d, endtime,banzhu_uid,banzhu_uname,del_cause,qdir) select id, pid, ques_name, givepoint, title, subject, subject_pid, createtime, approve, did, status, intime, order_d, endtime,'1521859','admin0523','无意义回复',qdir from club.question where id=7330212'
  2. 1 row in set (0.00 sec)
错误原因:从库上对应的表上缺少字段。

解决方法:根据主库上表结构,在从库对应表上添加缺少的字段,然后start slave。

错误六


 
 
  1. mysql> show slave status\G
  2. *************************** 1. row ***************************
  3. Slave_IO_State: Waiting for master to send event
  4. Master_Host: 192.168.60.159
  5. Master_User: backup
  6. Master_Port: 3311
  7. Connect_Retry: 60
  8. Master_Log_File: mysql-bin.000012
  9. Read_Master_Log_Pos: 274863854
  10. Relay_Log_File: mysql-relay-bin.000007
  11. Relay_Log_Pos: 2160037
  12. Relay_Master_Log_File: mysql-bin.000012
  13. Slave_IO_Running: Yes
  14. Slave_SQL_Running: No
  15. Replicate_Do_DB:
  16. Replicate_Ignore_DB:
  17. Replicate_Do_Table:
  18. Replicate_Ignore_Table:
  19. Replicate_Wild_Do_Table:
  20. Replicate_Wild_Ignore_Table:
  21. Last_Errno: 1146
  22. Last_Error: Error executing row event: 'Table 'panda.t' doesn't exist'
  23. Skip_Counter: 0
  24. Exec_Master_Log_Pos: 2159824
  25. Relay_Log_Space: 274866725

错误原因:主库删除的表在从库中不存在,导致从库在遇到删除不存在表的错误时无法继续同步。

解决方法:利用slave-skip-errors参数,跳过对于的1146错误(这个参数是一个只读的,需要在配置文件中修改,并重启从库)

1、在my.cnf的[mysqld]下面添加slave_skip_errors=1146

2、重启从库 service mysql restart

3、在从库上启动同步


 
 
  1. mysql> start slave ;
  2. Query OK, 0 rows affected (0.01 sec)
  3. mysql> show slave status\G
  4. *************************** 1. row ***************************
  5. Slave_IO_State: Waiting for master to send event
  6. Master_Host: 192.168.60.159
  7. Master_User: backup
  8. Master_Port: 3311
  9. Connect_Retry: 60
  10. Master_Log_File: mysql-bin.000012
  11. Read_Master_Log_Pos: 274863854
  12. Relay_Log_File: mysql-relay-bin.000007
  13. Relay_Log_Pos: 137439021
  14. Relay_Master_Log_File: mysql-bin.000012
  15. Slave_IO_Running: Yes
  16. Slave_SQL_Running: Yes
  17. Replicate_Do_DB:
  18. Replicate_Ignore_DB:
  19. Replicate_Do_Table:
  20. Replicate_Ignore_Table:
  21. Replicate_Wild_Do_Table:
  22. Replicate_Wild_Ignore_Table:
  23. Last_Errno: 0
  24. Last_Error:
  25. Skip_Counter: 0
  26. Exec_Master_Log_Pos: 137438808
  27. Relay_Log_Space: 274867275
  28. Until_Condition: None
  29. Until_Log_File:
  30. Until_Log_Pos: 0
  31. Master_SSL_Allowed: No
  32. Master_SSL_CA_File:
  33. Master_SSL_CA_Path:
  34. Master_SSL_Cert:
  35. Master_SSL_Cipher:
  36. Master_SSL_Key:
  37. Seconds_Behind_Master: 88484
  38. Master_SSL_Verify_Server_Cert: No
  39. Last_IO_Errno: 0
  40. Last_IO_Error:
  41. Last_SQL_Errno: 0
  42. Last_SQL_Error:
  43. Replicate_Ignore_Server_Ids:
  44. Master_Server_Id: 159
  45. Master_UUID: ded30ff9-62b2-11e6-b0d0-f80f41fa11bf
  46. Master_Info_File: /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64/data/master.info
  47. SQL_Delay: 0
  48. SQL_Remaining_Delay: NULL
  49. Slave_SQL_Running_State: Reading event from the relay log
  50. Master_Retry_Count: 86400
  51. Master_Bind:
  52. Last_IO_Error_Timestamp:
  53. Last_SQL_Error_Timestamp:
  54. Master_SSL_Crl:
  55. Master_SSL_Crlpath:
  56. Retrieved_Gtid_Set:
  57. Executed_Gtid_Set:
  58. Auto_Position: 0
  59. Replicate_Rewrite_DB:
  60. Channel_Name:
  61. Master_TLS_Version:
  62. 1 row in set (0.00 sec)

4、去掉my.cnf中的slave_skip_errors=1146

5、重启从库

6、启动从库复制








待续

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值