最近发现mysql一个奇怪的问题,好好的代码,运行一段时间后,数据库操作就失败了。一开始以为是操作了多个数据库,可能是数据库串了,经过检查,确实没有错。后来在Navicat工具刷新数据的时候,提示了mysql的连接数过多的问题(connections too many)。因为此前也出现过这样的问题,没想到现在又出来了。
所以决定还是写一篇文章记录一下。以为我们需要通过修改配置文件来彻底解决这个问题。
出现数据库连接数过多的问题,一方面可能是程序连接真的太多了,因为业务量大;另一方面则可能是代码结构设计不合理,导致大量的连接,短时间大量出现,并发总连接数超出限制,而且连接数的断开较慢。
默认的情况下,mysql的最大连接数好像是150,不是十分确定。反正这个数很小,在程序短时间有大量的连接的时候,就可能超过这个限制,而导致数据库操作失败。
从程序上优化连接数问题,不在这里讨论,我们来说说修改mysql配置文件。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections=1000
thread_cache_size=1000
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8
&nb
请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~