MySQL 查看连接数及状态信息

為{幸葍}努か 提交于 2019-11-27 10:50:04

一、问题描述

今天运维同事找到我问,有两台数据库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 status

Enter 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-status

Enter 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,告诉同事后修改了阈值后正常。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!