令我感到困惑,我确信这是一个简单的修复。
我将数据库从一台服务器移动到另一台服务器。创建了具有正确权限等的新帐户
在我的一些脚本中,mySQL输出了这个错误: PHP警告:发送QUERY数据包时出错。 PID =
我检查了max_allowed_packet,旧服务器和新服务器之间是一样的。
我正在运行的SQL语句是:
UPDATE TABLE WHERE ID = :ID
数据包大小应无关紧要; ID只是一个数字。
权限很好,因为其他UPDATE语句可以正常工作。
在副本方面我有什么遗漏吗?
答案 0 :(得分:2)
尝试将mysql配置中的wait_timeout
设置为更高的值,例如设置为28800.
由于wait_timeout
值较低,Php可能会丢失与mysql守护程序的连接。
答案 1 :(得分:0)
由于超时设置,连接可能已丢失。检查您的wait_timeout值
SHOW SESSION VARIABLES LIKE "wait_timeout";
SHOW GLOBAL VARIABLES LIKE "wait_timeout";
如果需要,设置为更高的值
SET @@GLOBAL.wait_timeout = 28800
这可能也是max_allowed_packet size
设置中的问题要在my.ini文件中更改设置。在文件中包含[mysqld]下的单行
max_allowed_packet=500M
现在重启MySQL服务,你就完成了。