MySQL 连接数和状态查看命令
以下命令是登陆 MySQL的cli 之后执行命令
1. 查看MySQL实例的当前连接数:show processlist
show processlist
: 列出当前用户的前100条连接信息;show full processlist
: 列出当前用户的所有连接信息;
当root用户登陆后,能够查看所有用户的连接数;
2. 查看MySQL实例的状态: show status
show status
: 列出mysql的所有status 的变量(variable_name)的值variable_name;show status like '%Variable_name%'
: 列出MySQL的status变量名为Variable_name的变量的值;
mysql 常用status变量如下表:
status Variable_name | value 值含义 |
---|---|
Aborted_clients | 由于客户没有正确关闭连接,已经丢弃死掉的连接数量 |
Aborted_connects | 尝试已经丢弃的失败的MySQL服务器的连接的数量 |
Connections | 试图连接MySQL服务器的次数 |
Created_tmp_tables | 当执行语句时,已经被创造了的隐含临时表的数量 |
Delayed_insert_threads | 正在使用的延迟插入处理器线程的数量 |
Delayed_writes | 用INSERT DELAYED写入的行数 |
Delayed_errors | 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数 |
Flush_commands | 执行FLUSH命令的次数 |
Handler_delete | 请求从一张表中删除行的次数 |
Handler_read_first | 请求读入表中第一行的次数 |
Handler_read_key | 请求数字基于键读行 |
Handler_read_next | 请求读入基于一个键的一行的次数 |
Handler_read_rnd | 请求读入基于一个固定位置的一行的次数 |
Handler_update | 请求更新表中一行的次数 |
Handler_write | 请求向表中插入一行的次数 |
Key_blocks_used | 用于关键字缓存的块的数量 |
Key_read_requests | 请求从缓存读入一个键值的次数 |
Key_reads | 从磁盘物理读入一个键值的次数 |
Key_write_requests | 请求将一个关键字块写入缓存次数 |
Key_writes | 将一个键值块物理写入磁盘的次数 |
Max_used_connections | 同时使用的连接的最大数目 |
Not_flushed_key_blocks | 在键缓存中已经改变但是还没被清空到磁盘上的键块 |
Not_flushed_delayed_rows | 在INSERT DELAY队列中等待写入的行的数量 |
Open_tables | 打开表的数量 |
Open_files | 打开文件的数量 |
Open_streams | 打开流的数量(主要用于日志记载) |
Opened_tables | 已经打开的表的数量 |
Questions | 发往服务器的查询的数量 |
Slow_queries | 要花超过long_query_time时间的查询数量 |
Threads_connected | 当前打开的连接的数量 |
Threads_running | 不在睡眠的线程数量 |
Uptime | 服务器工作了多少秒 |
3. 查看MySQL的实例的变量:
show variables
: 列出所有变量的(key, value) ;show variables like '%var%'
: 列出变量名中包含var
的变量的(key, value)select @@varible_name
: 查询变量名为 variable_name的的变量的(key,value)
eg: 查看db是否为ready_only:
show variables like '%read_only%';
select @@read_only;
查看db的连接数限制:
show variables like '%connection%';