MySQL复制错误'如果在查询时启用了日志记录,则无法'更改'日志表

时间:2012-02-09 04:42:20

标签: mysql replication mysql-error-1064 database-replication

MySQL复制因最后一个错误

而破裂
  

Last_Errno:1580 Last_Error:错误'你不能'更改'日志表格如果   在查询时启用了日志记录。默认数据库:'mysql'。

似乎这是运行版本5.1.61的mysql_upgrade的错误 我发现了一些错误报告,但是一旦在主服务器上执行了升级,就找不到如何解决这种情况。

有什么想法吗?

参考文献: http://bugs.mysql.com/bug.php?id=39133 http://bugs.mysql.com/bug.php?id=43579 http://bugs.mysql.com/bug.php?id=46638

2 个答案:

答案 0 :(得分:39)

似乎我会回答我自己的问题。登录时尝试更改日志表会创建错误。我真的不明白MASTER如何执行该查询,因为它具有相同的日志记录,如果确实如此,那么为什么SLAVE不能这样做呢?我很乐意阅读解释,但现在让我们专注于解决方案。

要查看破坏复制执行的错误

  

显示从属状态\ G   你会发现查询的麻烦

您现在可以停止奴隶

  

STOP SLAVE;

禁用相关日志(请勿复制+粘贴此内容,但请先检查您自己的配置!):

  

SET GLOBAL slow_query_log ='OFF';

重启奴隶

  

START SLAVE;

看到

上没有显示错误
  

显示失败状态\ G

并再次启用相关日志:

  

SET GLOBAL slow_query_log ='ON';

如果这有帮助,请告诉我。

答案 1 :(得分:23)

我有一个主 - 主复制,所以我不能停止奴隶上的二进制日志但是

STOP SLAVE;
SET GLOBAL slow_query_log = "OFF";
START SLAVE;
SET GLOBAL slow_query_log = "ON";

解决了我的pb