今天刚上班,就发现mysql AB复制挂了。故障是由一个查询引起,这个查询查找了一个不存在的列。
说说这个AB复制集群的情况:
master库和slave库同步db1,db2,db3。故障出在db3上,故障发生的同时,slave库停止工作,slave抛出错误和停止工作的file#和postion。
问题很棘手,重新配置实在太麻烦、太耗时间。思考了一会儿想出这么一个办法。
问题出在db3上,db1 db2正常。那么就将db3删除,将/etc/my.cnf中的replicate-do-db=db3参数注释掉。
重启slave数据库,根据错误抛出的file#和postion 去change master to,指定同步的位置。尔后start slave。这样salve上的db1 和db2两个库应该就和主库同步了。
步骤如下:
1.master库:lock maseter
2.salve库:stop slave
3.master库:master mysqldump --master-data=1
4.传输备份文件到slave库
5.slave库:导入到从库
6.slave库:start slave
阅读(2809) | 评论(0) | 转发(0) |