首页 / 数据库 / MySQL / MySQL 查看连接数及状态信息
一、问题描述 今天运维同事找到我问,有两台数据库MYSQL的连接数超过监控的阈值(700),当然他们的监控(zabbix)也是刚刚搭建起来的。表示该值已经从很低的数值一点一点调上来了,但是仍然报警。于是就找到我,做为Oracle’s DBA的我,准备变为双料DBA,这正是学习的好时机。马上来学习一下,如何在MYSQL中查询连接数。二、实验1.show status 查看所有状态参数,其中Threads_connected 当前的连接数,Connections 试图连接到(不管是否成功)MYSQL服务器的连接总数, Max_used_connections 服务器启动后已经同时使用过的连接最大数量(并发)。mysql> show status like "%connect%";+----------------------+---------+| Variable_name | Value |+----------------------+---------+| Aborted_connects | 163 || Connections | 1116123 || Max_used_connections | 266 || Threads_connected | 208 |+----------------------+---------+4 rows in set (0.00 sec)mysql>2.show processlist 显示当前正在执行的mysql连接mysql> show processlist;+---------+----------+--------------------+-----------+---------+-------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |+---------+----------+--------------------+-----------+---------+-------+-------+------------------+| 1105357 | tjuser | 10.10.100.30:36210 | testdb | Sleep | 1377 | | NULL || 1112435 | tjuser | 10.10.100.30:54112 | testdb | Sleep | 1616 | | NULL ||…… 略| 1116128 | tjuser | 10.10.100.21:47484 | testdb | Sleep | 1 | | NULL || 1116129 | tjuser | 10.10.100.21:47485 | testdb | Sleep | 64 | | NULL |+---------+----------+--------------------+-----------+---------+-------+-------+------------------+207 rows in set (0.00 sec)3.mysqladmin -u -p -h status 显示当前mysql状态[root@db ~]# mysqladmin -uroot -p -hlocalhost statusEnter password:Uptime: 14604445 Threads: 208 Questions: 34034734 Slow queries: 179 Opens: 12553 Flush tables: 3 Open tables: 977 Queries per second avg: 2.330[root@db ~]# 4.mysqladmin -u -p -h extended-status 显示mysql的其他状态[root@db ~]# mysqladmin -uroot -p -hlocalhost extended-statusEnter password: +------------------------------------------+--------------+| Variable_name | Value |+------------------------------------------+--------------+| Aborted_clients | 53041 || Aborted_connects | 163 || Connections | 1116157 |…… 略| Threads_connected | 206 || Threads_created | 633 || Threads_running | 1 || Uptime | 14604661 || Uptime_since_flush_status | 14604661 |+------------------------------------------+--------------+[root@db ~]# 三、总结 此次查询只需要掌握mysql中show status,show process list命令,以及命令mysqladmin。 通过上述命令可以快速得到MYSQL数据库连接参数与状态值。查询到数据库设置connect数为1000,告诉同事后修改了阈值后正常。 It’s never too late to be what you might have been.本文永久更新链接地址