cronでmysqldumpエラー

昨日の夕方頃から突然、サーバからcronのエラーが届きだした・・・

エラーの内容は、
mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `wp_2_comments` at row: 1455どうも毎時取ってるWordPressのバックアップスクリプト内で
DBのダンプを取ってるときに起こってる模様。

ただcronを実行する度に起こるわけじゃなくて、
起こったり起こらなかったり…

エラーが起こるテーブルは、いつもコメントテーブル。
と言っても、普通にブログは見えてるし、

SELECT * FROM wp_2_comments;

を手動で実行しても一瞬で答えが返ってくる。
エラー内のrowの所の数字はバラバラ。

なにより不思議なのが、いくら手動でmysqldumpを実行しても、
↑のエラーが全く発生しない・・・!
cronで実行したときに稀に発生するらしい・・・
同じ時刻に別の処理を動かしたりしてるわけでもないのになぁ。。。

エラー内容をグーグル先生に聞いても、
「これだ!」って言うのが見つからない。。。

とりあえず簡単に出来そうな対処をしてみた。

まずデータベースの最適化を。

ALTER TABLE wp_2_comments ENGINE InnoDB;

数時間後にまた発生・・・orz

一旦コメントテーブルを消して、正常だった頃のデータで復元。
これも意味なし。。。

それならデータベースを丸ごと消して、丸ごと復元!
それでも止まらず・・・!

途方に暮れて、悩んだ挙げ句、
「cronで動かしたときだけ」ってのに着目して、
ダメ元で実行時間を5分ほどずらしてみる。
すると、なんと止まった! 何故!?

やっぱり同時刻に競合する処理が動いてたのかな・・・?
結局、原因は謎のまま・・・
とりあえず直ったし、良っか、、、

じゃ、ゲームして寝るー
バイニー☆

test?

コメントを残す