复制slave-skip-errors及error查看
2011年08月30日
mysql复制的时候遇到错误就停在哪里, 需要手工去出错, 例如这个错误:
1062 | Error 'Duplicate entry 'adfadfadf' for key 1' on query. Default database: 'xx_db'. Query: 'INSERT INTO ...
假如只是一两条错误, 机器也很少, 哪倒是无所谓, 用下面的方法就可以了.
mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql>slave start;
当你有很多繁忙的数据库, 维护总是让你很忙的时候. 假如在数据要求不是那么高的时候, 也有一个方法让你没有烦恼, 在slave的my.cnf里面写入.
slave-skip-errors = 1062
启动后它将会忽略所有类型为1062的错误. 查看MySQL数据库错误码(error code)的三个方法:
◆1. MySQL Reference Manual有Appendix B. Error Codes and Messages
◆2. 查看页面:http://dev.mysql.com/doc/refman/5.0/en/error-handl ing.html
◆3. MySQL的bin目录下提供了perror.exe工具,使用方法如下:
# /usr/local/mysql/bin/perror 10
Error code 10: No child processes
# /usr/local/mysql/bin/perror 127
Error code 127: Network is down
127 = Record-file is crashed
# /usr/local/mysql/bin/perror 134
Error code 134: Transport endpoint is not connected
134 = Record was already deleted (or record file crashed)