前言:
今天我们对“mysql命令连接数”大体比较关注,咱们都想要知道一些“mysql命令连接数”的相关知识。那么小编也在网摘上搜集了一些有关“mysql命令连接数””的相关知识,希望看官们能喜欢,各位老铁们一起来了解一下吧!今天上午线上的服务突然访问缓慢,页面大量访问超时,用户开始报障。立即远程连接应用服务器进行日志的排查,发现大量的数据库连接异常。现像如下:猜测可能是mysql连接数占满或者mysql服务异常导致问题。
1.首先远程连接mysql服务器
mysql -h ip -u root -p -P 3306
例如:mysql -h ××.××..××..××. -P 3306 -u xx-p
-h指定远程 ip地址 -P指定端口号 -u 指定用户名 -p 指定密码
幸运的远程连接成功,说明mysql服务应该没有问题,可能是连接数的问题。
2.查询可用连接数和最大连接数,发现连接数占满
3.查询当前running sql执行时间最长的10条
Select * frominformation_schema.processlist where info is not null order by time desc limit10 ;
发现有同一条sql大量占用mysql 连接数,导致mysql连接数占满,排查是一个批量推送的服务触发了,首先先屏蔽点批量推送功能,进行发版本并重启服务。
4.通过命令生成杀进程脚本
`select concat('KILL',id,';') from information_schema.processlist where user='root' into outfile '/var/lib/mysql-files/a.txt';`
或者增加时间条件
`select concat('KILL',id,';') from information_schema.processlist where user='root' and time>100 into outfile '/var/lib/mysql-files/aa.txt'; `
5.执行杀连接数脚本
source /var/lib/mysql-files/a.txt
6.查询线程执行状态
show status like 'Threads%'
批量kill 调连接数后服务正常;
经过紧张有序的排查,顺利解决线上的突发问题。
标签: #mysql命令连接数 #mysql连接异常 #mysql数据库空间满了 #mysql连接数满了 #mysql服务器端口3306被占用