文档中心

MySQL运维常用命令:进程查看与状态查询完整教程

发布时间:2026-04-22 17:07:48

一、查看数据库连接与进程

命令1:查看当前连接(默认显示前100条)

sql                                                     
show processlist;

权限说明:

         root账号:可查看所有用户的当前连接,便于运维排查全量连接情况

         普通账号:仅能查看自身占用的连接,无法查看其他用户连接

命令2:查看全部连接(完整显示,无条数限制)

sql                                                        
show full processlist;

适用场景:当show processlist显示不全,需查看所有连接(如排查连接泄露、异常连接)时使用。

二、查看数据库全局运行状态

命令1:查看全部运行状态

sql
show status;

说明:该命令会输出MySQL服务器所有运行状态变量及对应数值,涵盖连接、查询、缓存、线程等所有维度,适合全面排查服务器运行情况。

命令2:精准查询指定状态变量(常用)

sql
show status like '%变量名%';

说明:将变量名替换为具体需要查询的状态变量,可快速定位目标状态,避免查看全部状态的冗余信息,提升运维效率。

三、状态变量说明

         Aborted_clients:客户端非正常关闭连接,被服务器断开的数量

         Aborted_connects:连接 MySQL 失败的次数(密码错、权限不足等)

         Connections:启动以来MySQL 总共被连接过多少次

         Created_tmp_tables:执行 SQL 时自动创建的临时表数量

         Delayed_insert_threads:延迟插入线程的数量(旧版 MySQL 用)

         Delayed_writes:延迟插入写入的行数

         Delayed_errors:延迟插入时发生错误的行数

         Flush_commands:执行 FLUSH 刷新命令的次数

         Handler_delete:执行删除行的次数

         Handler_read_first:读取表第一行的次数

         Handler_read_key:通过索引读取数据的次数

         Handler_read_next:按索引顺序读取下一行的次数

         Handler_read_rnd:随机位置读取数据的次数(高了说明 SQL 性能差)

         Handler_update:执行更新行的次数

         Handler_write:执行插入行的次数

         Key_blocks_used:索引缓存占用的块数

         Key_read_requests:索引缓存读取请求次数

         Key_reads:从磁盘读取索引的次数(高了说明索引缓存太小)

         Key_write_requests:索引缓存写入请求次数

         Key_writes:把索引写入磁盘的次数

         Max_used_connectionsMySQL 历史同时最大连接数

         Not_flushed_key_blocks:索引缓存中未同步到磁盘的块数

         Not_flushed_delayed_rows:延迟插入队列中等待写入的行数

         Open_tables:当前打开的表数量

         Open_files:当前打开的文件数量

         Open_streams:打开的流数量(多用于日志)

         Opened_tablesMySQL 启动后总共打开过多少张表

         Questions:发送给 MySQL 的查询总次数

         Slow_queries:慢查询次数(执行时间过长的 SQL

         Threads_connected:当前打开的连接数

         Threads_running:当前正在执行的活跃线程数

         UptimeMySQL 已经运行了多少秒

四、实操示例(直接复制使用)

sql
-- 示例1查询MySQL自启动以来,达到的历史最大并发连接数。
show status like '%Max_used_connections%';

--
示例2:查看慢查询数量,排查SQL性能问题
show status like '%Slow_queries%';

--
示例3:查看当前活跃连接数,判断服务器负载
show status like '%Threads_connected%';

--
示例4:查看服务器运行时长
show status like '%Uptime%';

--
示例5:查看所有当前连接,排查异常连接
show full processlist;

五、使用注意事项

         所有命令均需在MySQL命令行(或Navicat等工具的SQL编辑器)中执行,执行前需确保已登录MySQL

         root账号拥有所有状态查看权限,普通账号仅能查看自身相关的连接和状态,建议使用root账号进行运维操作

         show status命令输出的数值为服务器启动以来的累计值,如需对比变化,可间隔一段时间多次执行查看

         若查询结果显示异常(如Slow_queriesAborted_clients数值过高),需结合实际业务排查对应问题(如SQL优化、客户端连接配置)

全天候品质服务
全天候品质服务
快速客服响应
快速客服响应
客户价值为先
客户价值为先
多层安全防护
多层安全防护
QQ在线咨询
业务咨询:594128886
备案咨询:1165077278
微信扫码咨询
微信客服二维码

微信号:yuy1899

0451-85991100 工作日 09:00-18:00