主页
文章
知识库
云盘
工具
登录
登录
注册
忘记密码
反馈
文章
MySQL 填坑
MySQL 填坑
lyjin
2022-03-17
[TOC] ## 大量sleep进程 用root账户登录mysql后,显示当前所有进程 ``` # mysql > show processlist; +----+-----------------+-----------------+-----------+---------+------+------------------------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-----------------+-----------------+-----------+---------+------+------------------------+------------------+ | 4 | event_scheduler | localhost | NULL | Daemon | 1894 | Waiting on empty queue | NULL | | 15 | root | localhost:64706 | NULL | Query | 0 | starting | show processlist | | 20 | root | localhost:60769 | code | Sleep | 511 | | NULL | | 21 | root | localhost:60791 | code | Sleep | 497 | | NULL | | 22 | root | localhost:60797 | code | Sleep | 534 | | NULL | | 23 | root | localhost:61040 | code | Sleep | 523 | | NULL | +----+-----------------+-----------------+-----------+---------+------+------------------------+------------------+ ``` 发现大量sleep进程,它们不仅白白消耗内存资源,如果连接继续增加,会达到mysql的连接上线,出现 too many connections错误。可以设置 **wait_timeout** 参数(根据系统运行情况来判断),如果sleep进程过多,说明此参数值设置过大,需要调小。 ``` Mysql> show variables like “%timeout%”; +-----------------------------+----------+ | Variable_name | Value | +-----------------------------+----------+ | connect_timeout | 10 | | delayed_insert_timeout | 300 | | innodb_flush_log_at_timeout | 1 | | innodb_lock_wait_timeout | 50 | | innodb_rollback_on_timeout | OFF | | interactive_timeout | 28800 | | lock_wait_timeout | 31536000 | | net_read_timeout | 30 | | net_write_timeout | 60 | | slave_net_timeout | 3600 | | wait_timeout | 28800 | +-----------------------------+----------+ 11 rows in set (0.00 sec) ``` 经查询发现原来mysql没有进行过优化,还是原来的默认值:28800(即8个小时)。 编辑 /etc/my.cnf,在mysqld 下新增以下两个参数,设置为2个小时,即7200秒,如下: ``` [mysqld] wait_timeout=7200 interactive_timeout=7200 ``` 注意:要同时设置**interactive_timeout**和**wait_timeout**才会生效。 最后重启一下mysql 生效 即可! ## Win10 Mysql服务指定配置文件 > MySQL版本为 mysql-8.0.18-winx64 > 配置文件在安装目录的bin路径下 在cmd窗口中输入 service.msc,打开服务管理器,可以看到MySQL服务。 删除服务 `mysqld --remove mysql` 重新注册服务 ``` mysqld --install mysql --defaults-file=C:\\Program Files\\MySQL\\MySQL Server 5.7\\my-default.ini # defaults-file指定配置文件 ```
分享
×
用手机扫码分享
没有评论
请登陆后评论
新建评论
移除
关闭
提交