MySQL エラー 2006: mysql サーバーが消えました
P粉786432579
2023-08-23 17:47:00
<p>オフィスでサーバーを実行していくつかのファイルを処理し、結果をリモートの MySQL サーバーにレポートします。 </p>
<p>ファイルの処理には時間がかかり、次のエラーが発生してプロセスが途中で終了します: </p>
<pre class="brush:php;toolbar:false;">2006 年、MySQL サーバーは廃止されました</pre>
<p>MySQL の設定 <strong>wait_timeout</strong> について聞いたことがあるのですが、オフィス サーバーまたはリモート MySQL サーバーでそれを変更する必要がありますか? </p>
私はこの状況に何度も遭遇しましたが、通常、答えは
max_allowed_packet
です。
リーリー/etc/my.cnf
([mysqld]
の下) の値を 8 または 16M に増やすと、通常は問題が解決します。 (MySql 5.7 のデフォルトは4194304
で、4MB です。)注: 行が存在しない場合は、行を作成するだけです。その行は、
の下にエントリとして表示される必要があります。[mysqld]
注: これはサーバーの実行中に設定できますが、mysql デーモンが再起動されると失われます。
SET GLOBAL max_allowed_packet=104857600
を使用します (これにより 100MB に設定されます)注: Windows では、UTF-8 エンコーディングではなく ANSI を使用して my.ini または my.cnf ファイルを保存する必要がある場合があります。
接続が存在するかどうかを確認し、必要に応じて再確立する方が簡単な場合があります。
詳細については、PHP:mysqli_pingを参照してください。