【问题标题】:MySQL keeps crashing due to bugMySQL由于错误而不断崩溃
【发布时间】:2010-12-16 21:40:32
【问题描述】:

所以大约一周前,我终于弄清楚了导致我的服务器不断崩溃的原因。

在查看了我的 mysqld.log 后,我一直看到同样的错误,

101210  5:04:32 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295

这是错误报告的链接,http://bugs.mysql.com/bug.php?id=35346 有人建议您将 my.cnf 中的 max_join_size 值设置为 4M,我做到了。我认为这解决了问题,并且它工作了大约一周,直到今天没有任何问题......

我检查了 MySQL,现在又出现了同样的错误,

101216 06:35:25  mysqld restarted
101216  6:38:15 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
101216  6:38:15 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
101216 06:40:42  mysqld ended

有谁知道我如何才能真正解决这个问题?我不能一直让mysql像这样崩溃。

编辑:我忘了每次发生这种情况时我都会收到来自 linode 的电子邮件,因为我的磁盘 io 率很高

您的 Linode 已超过磁盘 io 速率的通知阈值 (1000),过去 2 小时平均为 2483.68。

【问题讨论】:

  • 为什么说它崩溃了?看起来 mysqld 在第二个示例之后至少又持续了两分钟。
  • 它崩溃了,我必须重新启动它,否则我的任何应用程序都无法连接到 MySQL,因为它已关闭。

标签: mysql crash


【解决方案1】:

您实际上是在尝试进行 4GiB 连接吗?您是否正在使用完整的笛卡尔积,尤其是您不打算使用的产品? (SELECT *whatever* from big_table, bigger_table WHERE whatever > 5 /* oops, forgot the join criteria */)

我建议记录活动,以尝试找到导致崩溃的查询。然后您可以更改查询,并使用 MySQL 提交错误报告。

【讨论】:

  • 这就是那里的错误,并且已经有一个错误报告
  • 您链接的错误会生成警告消息,而不是(来自错误日志的 AFAICT)服务器崩溃。我怀疑是其他原因导致服务器死亡。例如,您是否耗尽了磁盘空间或内存?执行大连接可能会导致这种情况。
【解决方案2】:

我认为在 scripts/mysql_install_db.sh 运行之前,在您的 MySQL 数据库中将 max_join_size 定义为 4294967295:

脚本/mysql_system_tables.sql

scripts/fill_help_tables.sql

可以修复警告。

【讨论】:

    猜你喜欢
    • 2021-10-20
    • 1970-01-01
    • 2021-01-29
    • 2013-10-17
    • 2011-11-09
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    相关资源
    最近更新 更多