mysql 1146问题解决及延伸

公司做项目架构优化,原本的主从模式优化为主从读写分离。所以,现在测试环境做了一套,并且压力测试测试一下。本来项目主从是没有问题的,结果在今天早上过来的时候,发现了从库写不进去了。于是开始排查问题:
废话不多说,直接解决问题:

mysql 1146问题
通过上图,很明显的看出。错误码是1146,也就是我的从库缺少这个表。其实如果是真的缺少这个表,那也简单。我把这个表建一下数据导入就好了。其实,并不是这样。因为这个库也是不存在的。究其原因,还是因为测试库为了区分开来,库名是新建的库名。主库上,是存在原来的库的。但是新库上是没有的。所以就报错了。既然问题已经找到,那么开始解决问题:
1.我们先来确认下,1146是不是就是错误报告上那个意思;这也是,后面操作的根据:
mysql官网介绍
没错,就是这个问题。
2.其实,既然主库本来就没有这个库。所以,我们可以直接跳过这个错误。当然,前提是你的binlog_format不是rows格式的。恰好的我的binlog——format是mix的模式。
这时,直接在配置文件添加:

重启从库,已经恢复了。
注意:这种方法其实,在主从的主键冲突也是可以使用的。前提,要对数据库的业务了解,确定是数据已经存在了。才可以跳过。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: