mysql 服务器对于连接的每个进程,如果客户端没有主动关闭该进程,那么服务器在杀死该进程前默认等待的时间是8小时,对于访问较为频繁的数据库,很有可能在短时间内由于访问量过大,同时闲置进程(sleep状态)又没有被及时清除,造成进程堵塞,也就是大家经常碰见的“too many connections”错误
对此问题,我们可以重新设置服务器等待的时间,将其减小,这需要修改my.cnf文件。默认在/etc/mysql文件夹下。配置文件中内容如下:
[mysqld]
wait_timeout=100
interactive_timeout=100
修改好配置文件后,重启mysql服务器即可,之后服务器会把每一个闲置时间超过100秒的进程杀死,从而保证数据库连接的持久性和有效性。
值得注意的是:wait_timeout与interactive_timeout缺一不可,设置完成后,可以进入mysql shell改数据库服务器中,输入 show variables like “%timeout%” 观察timeout设置是否成功。
解决MySQL连接过多问题

本文介绍如何通过调整MySQL服务器的wait_timeout和interactive_timeout参数来解决因连接过多导致的“too many connections”错误。通过减少服务器等待时间并及时清理闲置进程,确保数据库连接的有效性。
3247

被折叠的 条评论
为什么被折叠?



