【表層的回避】mysqldumpでLost connection to MySQL server during queryと出て落ちる場合はこれ
mysqldumpで大きなテーブル、特にtext型などを使った1レコードのサイズが大きいテーブルを含むデータをmysqldumpでダンプする際、MySQLサーバが落ちることがある。
当然ながら原因は様々に考えられるが、私の経験上は下記のようにダンプの際のコマンドを修正すると通ることが多い。
エラーが出るコマンド
下記コマンドでエラーが出たとしよう。
1 |
mysqldump -u user -ppassword dbname > C:\works\xxx.sql |
上記に、下記の引数を加える。
1 |
--max_allowed_packet=1G |
つまり、こう書くことになる。
1 |
mysqldump -u user -ppassword --max_allowed_packet=1G dbname > C:\works\xxx.sql |
なんでコレで解決するの?
max_allowed_packetは、MySQLサーバがクライアントと通信をする際の最大データサイズを決めるための変数だ。たまにそれに対して大きすぎるデータが作成されてしまうということだろう。
おしまい。