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

时间:2018-07-03 14:09:51

标签: mysql debian database-connection asterisk

上下文:电话系统(星号),使用MySQL C API连接到数据库以查找呼叫进入时的路由。查找涉及连接到数据库,执行查询,然后关闭连接。

有时早上的第一个电话会产生以下错误:

  

用户'asterisk'@'127.0.0.1'的访问被拒绝(使用密码:是)

通常这意味着密码错误,但是这里显然不是这种情况,因为它在所有通话中始终使用相同的用户名和密码。好像系统以某种方式“无法入睡”,或者某个文件句柄在某处已过时,因此第一次尝试连接数据库失败,但是其余的工作正常。而且它只是偶尔发生,所以我无法复制它-非常奇怪!

我在Debian 8.7上使用Asterisk 1.8.32和MySQL 5.5。

有点麻烦,所以我将不胜感激!

1 个答案:

答案 0 :(得分:0)

首先,由于安全性功能,目前不建议使用1.8。*树。

移至11. *可解决此问题。

您还可以在my.cnf中进行以下操作

 interactive_timeout=

设置为4天(周末)以上的任何值

其他选项是每3小时通过crontab重新加载mysql模块。

最佳选项(升级除外)是从mysql移到 res_odbc ,该选项具有keepalive选项。 res_config_mysql考虑已弃用,因此任何新系统都应使用ODBC。