MySQL 复制错误 'You can not 'ALTER'如果启用了日志记录,则为日志表经查询

发布于 2025-01-03 11:47:26 字数 578 浏览 2 评论 0原文

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

MySQL replication got broken with the last error being

Last_Errno: 1580 Last_Error: Error 'You cannot 'ALTER' a log table if
logging is enabled' on query. Default database: 'mysql'.

Seems this is the fault of running mysql_upgrade for version 5.1.61
I've found a few bug reports but didn't find how to remedy the situation once the upgrade has already been performed on the master.

Any ideas?

Refs:
http://bugs.mysql.com/bug.php?id=39133
http://bugs.mysql.com/bug.php?id=43579
http://bugs.mysql.com/bug.php?id=46638

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

油焖大侠 2025-01-10 11:47:27

我有主-主复制,所以我无法停止从属上的二进制日志,但

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

解决了我的 pb

I have a master-master replication, so I can't stop binary logs on slave but

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

solved my pb

筑梦 2025-01-10 11:47:26

看来我要回答我自己的问题了。在启用登录时尝试更改日志表会产生错误。我真的不明白 MASTER 如何执行该查询,因为它具有相同的日志记录,如果执行了,那么为什么 SLAVE 不能执行相同的操作?我很乐意阅读解释,但现在让我们关注解决方案。

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

显示从属状态\G
你会看到查询时遇到问题

你现在可以停止从属服务器

停止奴隶;

禁用相关日志(不要复制+粘贴此日志,而是先检查您自己的配置!):

设置全局 Slow_query_log = 'OFF';

重启从机

启动从属;

查看没有显示错误

显示从属状态\G

并再次启用相关日志:

设置全局slow_query_log = 'ON';

让我知道这是否有帮助。

Seems I'll be answering my own question. Trying to alter a log table while logging in enabled creates the error. I really don't understand how the MASTER could execute that query as it has the same logging in place and if it did, then why can't the SLAVE do the same? I'll be happy to read explanations but for now let's focus on the solution.

To see the error that broke the replication execute

SHOW SLAVE STATUS\G
and you will see the trouble making query

You can now stop the slave

STOP SLAVE;

Disable the relevant logs (don't copy+paste this but check your own configuration first!):

SET GLOBAL slow_query_log = 'OFF';

Restart the slave

START SLAVE;

See no errors are shown on

SHOW SLAVE STATUS\G

and enable the relevant logs again:

SET GLOBAL slow_query_log = 'ON';

Let me know if this helped.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文