MySQL Error 2013はどういう意味ですか?


14

cronのmysqlサーバーで(バックアップとして)mysqldumpを実行していますが、次のような警告メッセージが表示されます。

mysqldump: Got error: 2013: Lost connection to MySQL server during query when doing refresh

このMySQLエラー(2013)はどういう意味ですか?私はいくつかのグーグルをしましたが、それはあまり役に立ちません...

記録のために、mysqldumpはMySQLスレーブサーバーに接続しており、マスターに接続していたときに機能していました。

回答:


4

これは非常に悪い可能性があり2013mysqldumpプロセスを処理しているスレッドが停止したことを意味します。これは、サーバーのInnoDBエンジンがデータベースのデータベースファイルの読み取り中にエラーを検出したことが原因である可能性があります。mysqldumpそれはおそらく、あなたのアプリケーションは、一日の活動にその日の間に回避することができることをすべての潜在的破損を引き起こすためにあるバックアップを作成するために、データベースのすべてのためのすべてのページを読み込む必要があります。

mysqlコマンドを実行し、接続IDが低いと報告された場合、サーバーはおそらく再起動しています。mysqld.logすぐに確認して、理由を見つけてください。


私の答えを受け入れてくれてありがとう、mysqld.logで何を見つけましたか?
デイブチェイニー

サーバーの再起動を意味する低い接続IDが表示されました。なぜかはまだわかりません。どのように私は「潜在的破損をチェックします
ロリー・

1
mysqlサーバーがそれ自体を再起動した場合、mysqlログに大きな(デバッグのページを読む)があります。
デイブチェイニー

11

2013は、サーバーへの接続が切断されたことを意味します。いくつかの可能性があります:

  1. 誰かKILLがクエリを編集した
  2. ネットワークの問題により接続が停止しました
  3. サーバーがクラッシュ/死亡した
  4. 接続はアイドル状態でwait_timeoutあり、切断されました
  5. クライアントは十分な速度でデータをプルしておらずnet_wait_timeout、殺されました

1
それであるnet_write_timeoutまたはnet_wait_timeout
ks1322

またnet_read_timeout= 600およびconnect_timeout= 60

0

接続を開き、接続に関係しない長時間の操作を行ってから、クエリを試行しますか?その場合、mysqlはおそらくwait_timeoutにより接続をドロップします。クエリを発行する前に再接続するだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.