关于守护进程执行MySQL出错

初学者

从debug模式改用守护进程模式,我查看消息日志,发现是MySQL无法正确执行了,请问MySQL是需要在workerman框架外面执行吗?大概是怎么样的操作?谢谢

3182 2 0
2个回答

初学者

可能我表达的不太清楚,我说的是使用daemon守护进程模式启动的情况下,求老大告知

  • 暂无评论
walkor

手册有强调,
不要在主进程初始化数据库连接。
参考手册 http://doc.workerman.net/315119 关于区分主进程和子进程的说明
参考手册 http://doc.workerman.net/315205 关于mysql使用的注意事项

以下摘自手册:
不要在主进程中初始化数据库、memcache、redis等连接资源,因为主进程初始化的连接可能会被子进程自动继承(尤其是使用单例的时候),所有进程都持有同一个连接,服务端通过这个连接返回的数据在多个进程上都可读,会导致数据错乱。同样的,如果任何一个进程关闭连接(例如daemon模式运行时主进程会退出导致连接关闭),都导致所有子进程的连接都被一起关闭,并发生不可预知的错误,例如mysql gone away 错误。

年代过于久远,无法发表回答
🔝