在连接mysql 数据库中,第二天第一个用户使用系统会出现数据异常问题,跟踪发现,是数据库自动断开造成的, 因为 mysql 默认在8小时内断开无活动的数据库连接 ,这样造成了第二天第一个用户使用系统异常的问题。
该问题改代码的话,需要检测数据库是否连接正常,如果不正常,需要重新连接,再重新获取数据。这样的改动无疑对系统的底层冲击很大, 而且造成代码的不优雅,解决方案如下,不通过修改代码来解决该问题,将数据库连接超时时间改成原来的10倍,这样的话,就不会经过一夜的无活动连接造成第二天登不上了。
修改操作如下:打开/etc/my.cnf,在属性组mysqld下面添加参数如下:
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000
windows下在my.ini文中增加:
interactive_timeout=28800000
wait_timeout=28800000 |