定时关闭mysql中sleep的进程

mysql中睡眠连接会对mysql服务器造成影响

严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃。

造成睡眠连接过多的原因?

1. 使用了太多持久连接(个人觉得,在高并发系统中,不适合使用持久连接)

2. 程序中,没有及时关闭mysql连接

3. 数据库查询不够优化,过度耗时。

那么,如果要从根本上解决sleep连接过多,就得从以上三点反复检查,但是见效并不快。

在mysql的配置文件中设置自动关闭链接时间过长的进程:

修改mysql的配置文件my.cnf , window系统中是my.ini

[mysqld]
wait_timeout=100
interactive_timeout=100

wait_timeout=100 #即设置mysql连接睡眠时间为100秒,任何sleep连接睡眠时间若超过100秒,将会被mysql服务自然终止。

设置好后重启mysql

service mysqld restart

修改mysql占用内存的参数如下:

table_open_cache=2000 改为

table_open_cache=256

table_definition_cache=1400 改为

table_definition_cache=400

支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论