mysql主从同步报错

主从不同步,经查看发现如下报错

Last_Errno: 1666

​Last_Error: Error executing row event: 'Cannot execute statement: impossible to write to binary log since statement is in row format and BINLOG_FORMAT = STATEMENT.'

问题原因:

主从复制,从库中设定的binlog_format=statement,主库中的是MIXED,所以当从库尝试重做主库过来的过来的binlog日志,relay log的binlog_format与自己设定的binlog_format不一致。

解决方法:

直接先更改从库的binlog_format=MIXED 

排查步骤:

1.查看从库binlog_format 发现是STATEMENT格式,

mysql> show variables like '%binlog_format%';

2.主库binlog_format:

发现主从数据库的binlog_format格式不一样,我们要修改从库的binlog_format格式和主库相同

3.修改从库binlog_format

mysql> set global binlog_format=MIXED;

发现没有生效

那么我们直接修改/etc/my.cnf 配置 ,添加binlog_format=mixed  ,然后重启数据库生效

重启从库,主从自动开始同步

原文地址:https://www.cnblogs.com/pangguoping/p/5669765.html