MARIADB - 发送查询数据包时出错(不是 max_allowed_packet)
MARIADB - Error while sending QUERY packet (not max_allowed_packet)
我在使用 PHP7 脚本将数据保存到数据库 (MariaDB) 时遇到问题。该脚本在以前的托管包上运行良好,但在我的新 VPS.
上运行不正常
Warning: Error while sending QUERY packet. PID=1208 in ...
其他线程让我查看设置,但我的设置是:
- max_allowed_packet = 1GB
- wait_timeout = 10
我进一步审查了这个问题,发现查询本身没有任何问题(它在 phpMyAdmin 中执行良好)。
这似乎与在不关闭连接的情况下连续执行两个查询有关(第二个失败)。
相同的脚本 运行 在旧主机上很好,它必须是一个设置 - 有人有什么想法吗?
非常感谢,
本
MariaDB 配置(/etc/my.cnf):
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1GB
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
innodb_file_per_table
max_connections=70
max_user_connections=30
wait_timeout=10
interactive_timeout=50
long_query_time=5
提问 1 分钟后,我回答了我自己的问题。这是问题所在:
wait_timeout=10
我以前的主机配置有 =180 这让我写得不好的脚本工作。在 =10 下,时间不足以完成任务。我现在已将它延长到 180,但实际上应该为此添加句柄。
我也有同样的问题,这非常烦人。查询速度 运行ning 很快,但在某些时候它们会无缘无故地挂起和锁定。
我有 60 秒,不认为增加它是一个好的解决方案。
这是否意味着脚本花费了 60 多秒并且数据库消失了?
但是我注意到 SQL 是 "deadlocking",因为它们挂在 SHOW PROCESSLIST 中。我只使用 SELECT + JOIN。所以 SQL 是问题所在...但是当我 运行 他们很快时...这太糟糕了。
你说是连接没有关闭,那是没有意义的。连接自动关闭。
我在使用 PHP7 脚本将数据保存到数据库 (MariaDB) 时遇到问题。该脚本在以前的托管包上运行良好,但在我的新 VPS.
上运行不正常Warning: Error while sending QUERY packet. PID=1208 in ...
其他线程让我查看设置,但我的设置是:
- max_allowed_packet = 1GB
- wait_timeout = 10
我进一步审查了这个问题,发现查询本身没有任何问题(它在 phpMyAdmin 中执行良好)。
这似乎与在不关闭连接的情况下连续执行两个查询有关(第二个失败)。
相同的脚本 运行 在旧主机上很好,它必须是一个设置 - 有人有什么想法吗?
非常感谢, 本
MariaDB 配置(/etc/my.cnf):
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1GB
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
innodb_file_per_table
max_connections=70
max_user_connections=30
wait_timeout=10
interactive_timeout=50
long_query_time=5
提问 1 分钟后,我回答了我自己的问题。这是问题所在:
wait_timeout=10
我以前的主机配置有 =180 这让我写得不好的脚本工作。在 =10 下,时间不足以完成任务。我现在已将它延长到 180,但实际上应该为此添加句柄。
我也有同样的问题,这非常烦人。查询速度 运行ning 很快,但在某些时候它们会无缘无故地挂起和锁定。 我有 60 秒,不认为增加它是一个好的解决方案。
这是否意味着脚本花费了 60 多秒并且数据库消失了?
但是我注意到 SQL 是 "deadlocking",因为它们挂在 SHOW PROCESSLIST 中。我只使用 SELECT + JOIN。所以 SQL 是问题所在...但是当我 运行 他们很快时...这太糟糕了。
你说是连接没有关闭,那是没有意义的。连接自动关闭。