私はオフィスでサーバーを実行して、いくつかのファイルを処理し、その結果をリモート MySQL サーバーに報告しています。
ファイルの処理には時間がかかり、次のエラーが発生してプロセスが途中で終了します。
2006, MySQL server has gone away
MySQL 設定のwait_timeoutについて聞いたことがありますが、オフィスのサーバーまたはリモート MySQL サーバーでこれを変更する必要がありますか?
ベストアンサー1
私はこれに何度も遭遇しましたが、通常、答えは非常に低いデフォルト設定であることが分かりました。max_allowed_packet
。
/etc/my.cnf
これを( 未満で) 8 または 16M に上げると、[mysqld]
通常は修正されます。 (MySql 5.7 のデフォルトは で4194304
、4MB です。)
[mysqld]
max_allowed_packet=16M
注:行が存在しない場合は作成してください。行は下のエントリとして表示される必要があります。[mysqld]
注:これはサーバーの実行中に設定できますが、mysqlデーモンを再起動すると失われます。 使用SET GLOBAL max_allowed_packet=104857600
(これは100MBに設定します)
注意: Windows では、my.ini または my.cnf ファイルを UTF-8 ではなく ANSI エンコードで保存する必要がある場合があります。