エラーコード:2013。クエリ中にMySQLサーバへの接続が失われました
MySQL Workbenchを使用しています。また、合計約1000行のインサートを実行しています(例:INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4
を1000倍したもの)。各バッチにはかなりの時間がかかりますが、その一部は600秒以上かかります。
接続を中断せずに、作業を中断せずに一晩中作業を続けるにはどうすればよいですか?
今から 利用不可 インターネットアーカイブ:
[編集] - > [設定] - > [SQLエディタ]に移動して、このパラメータを高い値に設定します。DBMS接続読み取りタイムアウト(秒単位)。たとえば、86400です。
MySQL Workbenchを閉じて再度開きます。実行中の可能性がある以前のクエリを終了し、もう一度クエリを実行します。
「SSH経由の標準TCP/IP」タイプの接続を使用している場合は、「設定」 - >「その他」の下に「SSH KeepAlive」フィールドがあります。それを見つけるのにかなり時間がかかりました:(
5.2.47(少なくともMac上)で、基本設定の場所は次のとおりです。MySQLWorkbench-> Preferences - > SQL Editor
それから、あなたは両方を見るでしょう:
DBMS接続キープアライブ間隔(秒):DBMS接続読み取りタイムアウト(秒):
後者は600からもう少し何かに限界を上げたいと思うところです。
「SSHを介した標準TCP/IP」タイプの接続を使用している場合は、タイムアウトし続けるsshサーバーになる可能性があります。その場合は、サーバーの/ etc/ssh/sshd_config内のTCPKeepAlive関連設定を編集する必要があります。 。
私はこのエラー2013を取得していたし、上記の設定変更のどれも問題を解決するために何もしませんでした。私はmysqlサービスを再開し、問題は解決しました。
そうですね、Ubuntu Linuxではv 6.3.6です。上記の解決策のどれも私のために働きませんでした。 localhostのmysqlサーバーへの接続は以前は常にうまくいきました。リモートサーバーへの接続は常にタイムアウトしました - 約60秒後、ときには短い時間後、ときにはもっとタイムアウトになりました。
ついに私にとってうまくいったのは、Workbenchを6.3.9にアップグレードすることでした - これ以上ドロップされた接続はありません。
CREATE FULLTEXT
が30秒後にタイムアウトするという同様の問題がありました。
[編集]-> [設定]-> [SQLエディター]でDBMS接続読み取りタイムアウト間隔を0に設定すると、問題が修正されました。
また、これを機能させるためにmysqlワークベンチを再起動する必要はありませんでした。