web-dev-qa-db-ja.com

エラー2013(hy000)は、mysqldumpのロード中にクエリ中にmysqlサーバーへの接続を失いました

mysqldumpをロードしようとしていますが、次のエラーが発生し続けます。

エラーX(HY000)行X:クエリ中にMySQLサーバーへの接続が失われました

/etc/my.cnf

[mysqld]
max_allowed_packet = 16M
net_read_timeout = 30
net_write_timeout = 60
...
[mysqldump]
max_allowed_packet = 16M

これらの値を大きくしようとしましたが、何があってもエラーが発生し続けます(このエラーを克服するために他に何ができますか?

7
alexus

ここにある他のすべての解決策が失敗する場合は、syslog(/ var/log/syslogなど)をチェックして、クエリ中にサーバーのメモリが不足していないかどうかを確認してください。

スワップファイルを構成せずにinnodb_buffer_pool_sizeを物理メモリに近づけすぎると、この問題が発生しました。 MySQLは、データベース固有のサーバー設定innodb_buffer_pool_sizeを最大で物理メモリの約80%に設定することを推奨しています。 innodb_buffer_pool_sizeを約80%に戻し、問題を修正しました。

4
A_funs

エラーコードERROR 2013(HY000)中止された接続に関連しています。これを確認するには、次のコマンドを実行します。

mysql> SHOW GLOBAL STATUS LIKE  'Aborted_connects';

接続しようとするたびにカウンターが1つ増える場合は、接続の問題です。

この問題を解決する1つの方法として、構成ファイルの接続タイムアウト値を増やすことができます。これを行うには、次のコマンドを使用します。

mysql> SET GLOBAL connect_timeout = 10;

これがお役に立てば幸いです。ありがとうございました。

0
Rathish

Mysqldumpをロードするためにどのコマンドを使用していますか?これは本番サーバーですか?ダンプのサイズは?ダンプのフォーマット(.gzまたは.sql)?

再起動が原因でエラーが発生したかどうかを確認し、そうであれば1)mysqlのメモリ割り当てを確認します2)innodb_buffer_poolサイズを減らしてメモリ割り当てを減らします

これは、スワップの使用を減らすのに役立ちます。

0
Vaibhav