MySQL 服务器已消失错误编号:2006
MySQL server has gone away Error No: 2006
朋友们,我需要你们的帮助。
我使用 Open Cart 3,当我检查我的日志时,我看到这个错误:
[11-Jan-2020 04:12:05 UTC] PHP Fatal error: Uncaught Exception: Error: MySQL server has gone away<br />Error No: 2006<br />SELECT * FROM oc_currency in /home/nnhmetwhlxad/public_html/system/library/db/mysqli.php:40
Stack trace:
#0 /home/nnhmetwhlxad/public_html/system/library/db.php(45): DB\MySQLi->query('SELECT * FROM o...')
#1 /home/nnhmetwhlxad/public_html/system/library/cart/currency.php(10): DB->query('SELECT * FROM o...')
#2 /home/nnhmetwhlxad/public_html/catalog/controller/startup/startup.php(160): Cart\Currency->__construct(Object(Registry))
#3 /home/nnhmetwhlxad/storage2/modification/system/engine/action.php(79): ControllerStartupStartup->index()
#4 /home/nnhmetwhlxad/public_html/system/engine/router.php(67): Action->execute(Object(Registry))
#5 /home/nnhmetwhlxad/public_html/system/engine/router.php(46): Router->execute(Object(Action))
#6 /home/nnhmetwhlxad/public_html/system/framework.php(165): Router->dispatch(Object(Action), Object(Action))
#7 /home/nnhmetwhlxad/public_html/system/startup.php(104): require_once('/home/nnhmetwhl...')
#8 /ho in /home/nnhmetwhlxad/public_html/system/library/db/mysqli.php on line 40
我找到的解决方案:
Mysqli 是由您的主机控制的,而不是由 opencart 本身控制的。
可能是暂时的问题,因为托管公司会在不同时间重新启动服务器。
这也可能是一个超时问题,因为进程已停滞,服务器从未从 MySQLI 调用中获取结果。
后者可能会发生,因为在管理后台时会自动更新货币,
Disable the automatic currency update at System > Settings > Local > Auto Update Currency
and then try again.
注意:刷新您的仪表板,错误已解决。希望这对您有所帮助!
MySQL服务器消失(错误2006)主要有两个原因及解决办法:
- 服务器超时并关闭了连接。要修复,请检查 my.cnf 配置文件中的 wait_timeout mysql 变量是否足够大。
- 您可能还需要将 my.cnf 配置中的 innodb_log_file_size mysql 变量增加到例如 128MB 或更高。
- 服务器丢弃了不正确或过大的数据包。如果 mysqld 收到一个太大或不正确的数据包,它会认为客户端出现问题并关闭连接。要修复,您可以在 my.cnf 文件中增加最大数据包大小限制 max_allowed_packet,例如。设置 max_allowed_packet = 128M,然后重启你的 MySQL 服务器:sudo /etc/init.d/mysql restart
朋友们,我需要你们的帮助。 我使用 Open Cart 3,当我检查我的日志时,我看到这个错误:
[11-Jan-2020 04:12:05 UTC] PHP Fatal error: Uncaught Exception: Error: MySQL server has gone away<br />Error No: 2006<br />SELECT * FROM oc_currency in /home/nnhmetwhlxad/public_html/system/library/db/mysqli.php:40
Stack trace:
#0 /home/nnhmetwhlxad/public_html/system/library/db.php(45): DB\MySQLi->query('SELECT * FROM o...')
#1 /home/nnhmetwhlxad/public_html/system/library/cart/currency.php(10): DB->query('SELECT * FROM o...')
#2 /home/nnhmetwhlxad/public_html/catalog/controller/startup/startup.php(160): Cart\Currency->__construct(Object(Registry))
#3 /home/nnhmetwhlxad/storage2/modification/system/engine/action.php(79): ControllerStartupStartup->index()
#4 /home/nnhmetwhlxad/public_html/system/engine/router.php(67): Action->execute(Object(Registry))
#5 /home/nnhmetwhlxad/public_html/system/engine/router.php(46): Router->execute(Object(Action))
#6 /home/nnhmetwhlxad/public_html/system/framework.php(165): Router->dispatch(Object(Action), Object(Action))
#7 /home/nnhmetwhlxad/public_html/system/startup.php(104): require_once('/home/nnhmetwhl...')
#8 /ho in /home/nnhmetwhlxad/public_html/system/library/db/mysqli.php on line 40
我找到的解决方案:
Mysqli 是由您的主机控制的,而不是由 opencart 本身控制的。
可能是暂时的问题,因为托管公司会在不同时间重新启动服务器。
这也可能是一个超时问题,因为进程已停滞,服务器从未从 MySQLI 调用中获取结果。
后者可能会发生,因为在管理后台时会自动更新货币,
Disable the automatic currency update at
System > Settings > Local > Auto Update Currency
and then try again.
注意:刷新您的仪表板,错误已解决。希望这对您有所帮助!
MySQL服务器消失(错误2006)主要有两个原因及解决办法:
- 服务器超时并关闭了连接。要修复,请检查 my.cnf 配置文件中的 wait_timeout mysql 变量是否足够大。
- 您可能还需要将 my.cnf 配置中的 innodb_log_file_size mysql 变量增加到例如 128MB 或更高。
- 服务器丢弃了不正确或过大的数据包。如果 mysqld 收到一个太大或不正确的数据包,它会认为客户端出现问题并关闭连接。要修复,您可以在 my.cnf 文件中增加最大数据包大小限制 max_allowed_packet,例如。设置 max_allowed_packet = 128M,然后重启你的 MySQL 服务器:sudo /etc/init.d/mysql restart