mysql数据库常连接造成大量sleep状态怎么办

mysql数据库常连接造成大量sleep状态怎么办,第1张

mysql数据库常连接造成大量sleep状态怎么办用navicat自动备份mysql数据库方法:1、启动navicat软件,使用连接mysql数据库。2、随后d出,随意起一个“连接名”输入“主机名/ip”这里填写mysql数据库所在服务器的ip地址,用户名密码为mysql数据库的root和密码。3、这样左边就可以列出数据库“连接名”的快捷方式,双击以后可以列出这个mysql里面所有的数据库,等同于“show databases”命令。如图172..16.20.69这个:4、“单击”选定需要备份的数据库,然后点最后一项“计划任务”有的翻译为“计画任务”。如图:5、点击创建批次处理任务6、在d出的新窗口中“双击”可用任务中的“Backup【数据库名称】”,在下面的“选择任务”框中,就会出现选取的“Backup 【数据库名称】”也就是备份库。比如图中的wakawaka数据库。7、点击"保存" ,随意输入一个文件名比如 chuxuefeng-wakawaka 。8、返回 Navicat for MySQL 窗口,打开hl2库的“计画任务”。会看到计画任务里多了一个chuxuefeng-wakawaka,在chuxuefeng-wakawaka上点右键,选择“设置计画任务”。9、在新的窗口里选择“计划”页,新建一个计划。在高级选项里,可以勾选重复任务。10、打开高级选项,可以设定每多少小时备份一次,持续时间可以选择最大9999小时,可以设置为每天每隔3小时备份一次。实际上一般可以设定每天0:00备份一次就行了。具体的时间间隔视你的服务器情况而定。11、设置完计划任务之后。系统会要求你输入windows本机的administrator密码。12、现在做了计划任务的数据库每隔设定的一段时间就自动备份一次,自动备份的文件名是按时间排序的,名称是按照设定的名称来备份。如果需要恢复备份的话,可以按时间恢复数据。13、如果需要恢复数据,那么双击相应的备份文件,点击“开始”就可以恢复数据。

有时候你在mysql中运行SHOW PROCESSLIST后会发现数据库中有很多这样的进程:

那么造成sleep的原因,有三个,下面是mysql手册给出的解释:

1.客户端程序在退出之前没有调用mysql_close().[写程序的疏忽,或者数据库的db类库没有自动关闭每次的连接。。。]

2.客户端sleep的时间在wait_timeout或interactive_timeout规定的秒内没有发出任何请求到服务器.

[类似常连,类似于不完整的tcp

ip协议构造,服务端一直认为客户端仍然存在(有可能客户端已经断掉了)]

3.客户端程序在结束之前向服务器发送了请求还没得到返回结果就结束掉了.

[参看:tcp ip协议的三次握手]

解决的方法也很简单

在配置文件中加入如下代码:

[mysqld]

wait_timeout=10

或者:

mysql>set global wait_timeout=10

一般是睡眠连接过多,严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃。

解决办法 :

mysql的配置my.ini文件中,有一项:

wait_timeout, 即可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止。

wait_timeout过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也不能把这个指设置的过小,否则你可能会遭遇到“MySQL has gone away”之类的问题,通常来说,我觉得把wait_timeout设置为10是个不错的选择,但某些情况下可能也会出问题,比如说有一个CRON脚本,其中两次SQL查询的间隔时间大于10秒的话,那么这个设置就有问题了(当然,这也不是不能解决的问题,你可以在程序里时不时mysql_ping一下,以便服务器知道你还活着,重新计算wait_timeout时间):

mysql>show global variables like 'wait_timeout'

+----------------------------+-------+

| Variable_name | Value |

+----------------------------+-------+

| wait_timeout | 120|

+----------------------------+-------+

mysql>set global wait_timeout=20

至此,mysql占用cpu下降了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/7437564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存