Tuesday, January 13, 2015

Check The Number Of MySQL Open Database Connections on Linux Or Unix-like Server

http://www.cyberciti.biz/faq/howto-show-mysql-open-database-connections-on-linux-unix

I'm a new MySQL server user. My server is running on a CentOS Linux. How can I check the number of active MySQL connections on Linux based system?

You can use the following commands on Linux or Unix-like systems:
Tutorial details
DifficultyEasy (rss)
Root privilegesNo
RequirementsNone
Estimated completion time1m
a) mysqladmin status command
b) MySQL show status command
c) netstat or ss commands

mysqladmin status command example

Open the terminal App or login to the remote server using ssh:
 
ssh vivek@server1.cyberciti.biz
 
Type the following command to get a short status message from the MySQL server:
 
mysqladmin status
## OR ##
mysqladmin status -u root -p
## OR ##
mysqladmin status -h db1.cyberciti.biz -u root -p
 
Sample outputs:
Uptime: 691356  Threads: 5  Questions: 83237956  Slow queries: 102736  Opens: 3585  Flush tables: 1  Open tables: 1019  Queries per second avg: 120.398

MySQL show status command to see open database connections example

First, connect to the your mysql server:
 
mysql -u root -p
 
Type the following sql query to see the number of connection attempts to the MySQL server includes both failed and successful connection attempts:
mysql> show status like 'Conn%';
Sample outputs:
Fig.01: "show status like 'Conn%';" in action
Fig.01: "show status like 'Conn%';" in action

You can use the following sql command to see the number of currently open connections at mysql> prompt:
mysql> show status like '%onn%';
+--------------------------+---------+
| Variable_name            | Value   |
+--------------------------+---------+
| Aborted_connects         | 7       |
| Connections              | 6304067 |
| Max_used_connections     | 85      |
| Ssl_client_connects      | 0       |
| Ssl_connect_renegotiates | 0       |
| Ssl_finished_connects    | 0       |
| Threads_connected        | 7       | <---- 7="" connections="" currently="" in="" no="" of="" open="" pre="" rows="" sec="" set="">

Use show processlist sql command to see the number of open connections

Type the following sql command at mysql> prompt to see the number of currently open connections:
mysql> show processlist;
+---------+------------+-------------------+------------+---------+------+-------+------------------+
| Id      | User       | Host              | db         | Command | Time | State | Info             |
+---------+------------+-------------------+------------+---------+------+-------+------------------+
| 6297128 | root       | localhost         | NULL       | Query   |    0 | NULL  | show processlist |
| 6308321 | faqwpblogu | 10.10.29.66:42945 | lesaibkfaq | Sleep   |    1 |       | NULL             |
| 6308323 | faqwpblogu | 10.10.29.74:46993 | lesaibkfaq | Sleep   |    0 |       | NULL             |
| 6308325 | faqwpblogu | 10.10.29.74:46995 | lesaibkfaq | Sleep   |    1 |       | NULL             |
| 6308326 | faqwpblogu | 10.10.29.74:46996 | lesaibkfaq | Sleep   |    0 |       | NULL             |
+---------+------------+-------------------+------------+---------+------+-------+------------------+
5 rows in set (0.00 sec)
The above output indicates four currently open connection for user called 'faqwpblogu' from app server located at 10.10.29.66 and 10.10.29.74.

MySQL show status sql command summary

I suggest that you read the following pages for more info:
  1. SHOW STATUS Syntax
  2. Server Status Variables

Use netstat or ss (Linux only) command to list open database connections

The syntax is as follows for netstat command or ss command:
 
netstat -nat | grep 10.10.29.68:3306
 
This will just give you an overview. I suggest that you use above sql commands only.

No comments:

Post a Comment