2010-12-16 78 views
2

因此大概在一个星期前,我终于弄清楚是什么导致我的服务器不断崩溃。MySQL由于错误而不断崩溃

审查我的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有人建议您设置的使用max_join_size vaule在my.cnf到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电子邮件时,已通过平均2483.68超过磁盘IO率的通知阈值(1000)在过去的2个小时。

+0

你为什么说它崩溃?看起来mysqld在第二个例子后至少还有两分钟。 – wallyk 2010-12-16 21:46:59

+1

它崩溃了,我必须重新启动它或者我的应用程序无法连接到MySQL,因为它已关闭。 – mike 2010-12-16 21:49:02

回答

0

你真的想要做4GiB加入吗?你正在采取一个完整的笛卡尔产品,特别是你不打算? (SELECT *whatever* from big_table, bigger_table WHERE whatever > 5 /* oops, forgot the join criteria */

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

+0

这是那里的错误,并且已经有一个错误报告 – mike 2010-12-16 21:54:22

+0

您链接的错误会生成警告消息,而不是(错误日志中的AFAICT)服务器崩溃。我怀疑别的东西是导致服务器死亡。例如,你用完磁盘空间或内存了吗?执行巨大的连接可能会导致这种情况。 – derobert 2010-12-16 21:57:36

0

我觉得在你的MySQL数据库之前脚本定义使用max_join_size 4294967295/mysql_install_db.sh将运行:

脚本/ mysql_system_tables.sql

脚本/ fill_help_tables.sql

可能会修复警告。