123
2024-08-30
来自新加坡
思考题: 首先查看数据库的版本是否一致,mysql在5.7默认开启严格模式,通过show variables like 'innodb_strict_mode'查看,当前情况下,主库是在非严格模式下,而备库在严格模式下 解决方案: 1、设置备库为非严格模式,除非是业务需求,尽量不要使用非严格模式 2、修改主库表的DDL,开启严格模式(在业务改动不大的情况下),让备库忽略该GTID,不执行该语句,后由主库重新创建后会自动同步 另外,请教下老师,非严格模式使用会多吗,我们生产要求必须要使用严格模式
作者回复: 思考题里那个问题就是参数innodb_strict_mode在主备库不一样引起的。 一般都建议用严格模式,这样能尽早暴露错误。warning很多时候都会被忽略。