LoginSignup
36
31

More than 5 years have passed since last update.

MySQLである程度大きいダンプファイルのインポートを行った際のERROR 2013 (HY000) at line : Lost connection to MySQL server during queryエラーの解決策

Posted at

私が最近1GB近いMySQLのダンプファイルを用いてローカルの開発環境へDB復元を行う際に出現した
ERROR 2013 (HY000) at line : Lost connection to MySQL server during queryエラーの解決方法を記述します.

TL;DR

  • wait_timeout
  • max_allowed_paket
  • innodb_buffer_pool_size

を大きめに設定してみよう.

/etc/my.cnf

[mysqld]
wait_timeout            = 86400
max_allowed_packet      = 1G
innodb_buffer_pool_size = 1G

ERROR 2013 (HY000) at line : Lost connection to MySQL server during queryが出現したら

ERROR 2013 (HY000) at line : Lost connection to MySQL server during queryが出現してしまったら,/etc/my.cnf[mysqld]内にmax_allowed_packetを設定してみましょう.

[mysqld]
max_allowed_packet = 16M

多くの方がこれで直るみたい.
これ設定して直った!!って記事をよく見た気がする.
私の場合はここの値を16Mにしても512Mにしても1Gにしても2Gにしてもエラーが出てくるので違うなって思った.

原因はmax_allowed_packetではないと思ったとき

復元,ものすごく時間もかかるのに毎回エラーで終わるんだよね.
なんて時は/etc/my.cnf[mysqld]内にwait_timeoutinnodb_buffer_pool_sizeを設定してみましょう.

[mysqld]
wait_timeout            = 86400
innodb_buffer_pool_size = 1G

私はこれで直りました.
max_allowed_packetは原因ではないなと思いながらも1G(ダンプファイルがそれくらいだったので)にしておいたので,最終的に追記した設定は以下の通りになりました.

[mysqld]
wait_timeout            = 86400
max_allowed_packet      = 1G
innodb_buffer_pool_size = 1G

もしも同じような境遇で困っている方がいれば参考にどうぞ.

おまけ

ダンプファイルをガッツガツ復元させてるとログファイルが一杯になってしまったりしませんか?
このログファイルを真っ新にしたいと思った時,sudo cat /dev/nullがパーミッションエラーで弾かれて泣いたので一緒にメモとして記述しておきます.

$ sudo cat /dev/null | sudo tee mysql-query.log

以上.

36
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
31