十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍“MySQL主从复制中出现的error和解决方法”,在日常操作中,相信很多人在mysql主从复制中出现的error和解决方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql主从复制中出现的error和解决方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比太谷网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式太谷网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖太谷地区。费用合理售后完善,10多年实体公司更值得信赖。
主从复制中出现的error和解决方法
slave日志中的错误代码1:
[ERROR] Error reading packet from server: Client requested master to start replication from impossible position; the last event was read from 'mysql-bin.000016' at 455562731, the last byte read was read from 'mysql-bin.000016' at 4. ( server_errno=1236)
120725 23:19:17 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the last event was read from 'mysql-bin.000016' at 455562', Error_code: 1236
解救办法: www.2cto.com
先查看主服务器中对应日志文件是否有此行,使用的命令是
mysqlbinlog /YOURPATH/'mysql-bin.000016 >>/test
查找有没有455562对应的行 或者和这个数字很接近的行 然后使用chang master to 命令跳过这行,命令格式如下
stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.192.45',MASTER_USER='XXXX',MASTER_PASSWORD='XXXX',MASTER_LOG_FILE='mysql-bin.000016',MASTER_LOG_POS=455678;
start slave;
如果你找不到455562或者和这个数字很接近的行,你可以使用如下命令查看'mysql-bin.000016 的行数
ls -la mysql-bin.000016
如果统计的行数远远少于455562,你可以跳过这个日志,从下一个日志开始复制,命令如下
stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.192.45',MASTER_USER='backup',MASTER_PASSWORD='weiphone',MASTER_LOG_FILE='mysql-bin.000017',MASTER_LOG_POS=4;
start slave; www.2cto.com
错误类型代码2:
mysql slave Error_code: 1062 1054
如果日志中出现了这样代码,可能是错误的select,或update操作,master是跳过这些操作,但是被记录到了二进制日志中,slave会依据二进制中的语句做相同的动作,就会报错,知道原理了要做的操作就很简单了
stop slave;
set gloable sql_slave_skip_counter=n; //n为你想跳过错误语句的个数
start slave;
如果你不想再遇到这种错误,可以写到slave配置文件中格式如下:
slave_skip_errors = 1062
slave_skip_errors = all //跳过所有类型的错误码
到此,关于“mysql主从复制中出现的error和解决方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!