一天开始时出现初始数据库连接错误

kr98yfug  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(425)

上下文:电话系统(asterisk)使用mysql c api连接到数据库,以查找传入呼叫的路由。查找包括连接到数据库,执行查询,然后关闭连接。
有时早上第一个电话会产生以下错误:
拒绝访问用户“asterisk”@“127.0.0.1”(使用密码:yes)
通常这意味着密码是错误的,但这里显然不是这样,因为它在所有通话中始终使用相同的用户和密码。这就好像系统不知何故“进入睡眠状态”,或者某个文件句柄在某个地方过时了,所以第一次连接到数据库的尝试失败了,但其余的工作正常。而且它只是偶尔发生,所以我无法复制它-非常奇怪!
我在Debian8.7上使用Asterisk1.8.32和MySQL5.5。
这是一个有点头痛,所以我会感谢任何建议!

ohfgkhjo

ohfgkhjo1#

首先,由于安全特性,目前使用1.8.*树是一个非常糟糕的主意。
移到11.*修复此问题。
您也可以在my.cnf中进行以下操作

interactive_timeout=

设置为超过4天(周末)的任何值
另一个选择是每隔3小时通过crontab重新加载mysql模块。
最好的选择(除了升级)是从mysql迁移到resèodbc,后者有keepalive选项。res\u config\u mysql已弃用,因此任何新系统都应使用odbc。

相关问题