MySQL-Fehler 2006: Der MySQL-Server ist verschwunden
P粉786432579
2023-08-23 17:47:00
<p>Ich betreibe in meinem Büro einen Server, um einige Dateien zu verarbeiten und die Ergebnisse an einen Remote-MySQL-Server zu melden. </p>
<p>Die Dateiverarbeitung dauert einige Zeit und der Vorgang bricht mit der folgenden Fehlermeldung ab: </p>
<pre class="brush:php;toolbar:false;">2006, MySQL-Server ist verschwunden</pre>
<p>Ich habe von der MySQL-Einstellung <strong>wait_timeout</strong> gehört, aber muss ich das auf meinem Büroserver oder einem Remote-MySQL-Server ändern? </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 上,您可能需要使用 ANSI 而不是 UTF-8 编码保存 my.ini 或 my.cnf 文件。
检查连接是否存在并在需要时重新建立连接可能会更容易。
有关信息,请参阅 PHP:mysqli_ping。