2010-12-16 75 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

可能會修復警告。