首页  >  问答  >  正文

MySQL 错误 2006:mysql 服务器已消失

<p>我在办公室运行服务器来处理一些文件并将结果报告给远程 MySQL 服务器。</p> <p>文件处理需要一些时间,并且进程中途终止并出现以下错误:</p> <pre class="brush:php;toolbar:false;">2006, MySQL server has gone away</pre> <p>我听说过 MySQL 设置 <strong>wait_timeout</strong>,但我是否需要在办公室服务器或远程 MySQL 服务器上更改该设置?</p>
P粉786432579P粉786432579423 天前564

全部回复(2)我来回复

  • P粉478835592

    P粉4788355922023-08-24 16:55:06

    我已经多次遇到过这种情况,并且通常发现答案是 max_allowed_pa​​cket

    /etc/my.cnf (在 [mysqld] 下)中的值提高到 8 或 16M 通常可以修复该问题。 (MySql 5.7 中的默认值为 4194304,即 4MB。)

    [mysqld]
    max_allowed_packet=16M

    注意:如果该行不存在,只需创建该行,它必须显示为 [mysqld]

    下的条目

    注意:这可以在服务器运行时进行设置,但在 mysql 守护进程重新启动后它将丢失。使用SET GLOBAL max_allowed_pa​​cket=104857600(这将其设置为100MB)

    注意:在 Windows 上,您可能需要使用 ANSI 而不是 UTF-8 编码保存 my.ini 或 my.cnf 文件。

    回复
    0
  • P粉752290033

    P粉7522900332023-08-24 12:28:45

    检查连接是否存在并在需要时重新建立连接可能会更容易。

    有关信息,请参阅 PHP:mysqli_ping

    回复
    0
  • 取消回复