gpt4 book ai didi

doctrine-orm - Gearman、ZF2、Doctrine2、MySQL、SQLSTATE[HY000] : General error: 2006 MySQL server has gone away

转载 作者:行者123 更新时间:2023-12-01 12:37:43 25 4
gpt4 key购买 nike

我使用 ZF2、Doctrine2、MySQL、Gearman。
Gearman 定期工作时出现错误:

SQLSTATE[HY000]:一般错误:2006 MySQL 服务器已经消失。

我尝试了以下步骤来解决问题:

1) 我调查了 MySQL 查询。
查询没有任何问题。它很简单(没有子查询)而且速度很快。
例如,这是 MySQL 服务器消失时查询之一的 EXPLAIN。

+-------------+-------+-------+-----------------------+-----------------------+---------+-------+------+
| select_type | table | type | possible_keys | key | key_len | ref | rows |
+-------------+-------+-------+-----------------------+-----------------------+---------+-------+------+
| SIMPLE | t0 | const | UNIQ_8D93D649E7927C74 | UNIQ_8D93D649E7927C74 | 767 | const | 1 |
| SIMPLE | t13 | const | UNIQ_BA388B79395C3F3 | UNIQ_BA388B79395C3F3 | 5 | const | 1 |
+-------------+-------+-------+-----------------------+-----------------------+---------+-------+------+

2) 我尝试了 this post 中的版本(重新连接到数据库)但这对我没有帮助。我的一些查询丢失了。

3) 我禁用了除 3 之外的所有 Gearman 工作和工作人员进行测试。我清理了 Gearman 队列并重新启动了 Gearman 服务器和 Gearman 工作人员。但这对我没有帮助。

4) 我为 MySQL 启用了这些设置:
max_allowed_pa​​cket = 500M
   max_connections      = 2000
max_user_connections = 300
wait_timeout = 3600
net_read_timeout = 3600

有人可以帮忙吗?
谢谢!

最佳答案

每个工作脚本应该在开始时连接到数据库并在结束时断开连接。不要试图保持打开连接,好像 MySQL 超时一样,那么您的脚本将不会注意到这就是为什么您会收到错误的原因。

关于doctrine-orm - Gearman、ZF2、Doctrine2、MySQL、SQLSTATE[HY000] : General error: 2006 MySQL server has gone away,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com