MySQL实战(七):日常运维 SQL汇总

一、高频必用(日常巡检)

1. 查看连接

sql

复制代码
SHOW FULL PROCESSLIST;

结果:Id,User,Host,db,Command,Time,State,Info版本:所有版本通用

2. 查看 MySQL 版本

sql

复制代码
SELECT VERSION();

结果:8.0.36版本:所有版本通用

3. 当前连接数

sql

复制代码
SHOW STATUS LIKE 'Threads_connected';

结果:128版本:所有版本通用

4. 最大连接数

sql

复制代码
SHOW VARIABLES LIKE 'max_connections';

结果:1000版本:所有版本通用

5. 数据库列表

sql

复制代码
SHOW DATABASES;

结果:mysql,testdb,sys版本:所有版本通用

6. 表结构

sql

复制代码
DESC 表名;

结果:字段、类型、KEY、NULL版本:所有版本通用

7. 建表语句

sql

复制代码
SHOW CREATE TABLE 表名;

结果:完整 CREATE TABLE版本:所有版本通用

8. 表索引

sql

复制代码
SHOW INDEX FROM 表名;

结果:索引名、字段、是否唯一版本:所有版本通用

9. 所有用户

sql

复制代码
SELECT user,host FROM mysql.user;

结果:root@%,app@192.168.%版本:所有版本通用

10. 查看用户权限

sql

复制代码
SHOW GRANTS FOR 'user'@'%';

结果:GRANT SELECT ON . 版本:所有版本通用

11. InnoDB 状态(死锁 / 事务)

sql

复制代码
SHOW ENGINE INNODB STATUS\G

结果:LATEST DETECTED DEADLOCK版本:所有版本通用

12. 从库状态

sql

复制代码
SHOW SLAVE STATUS\G

结果:IO_Running:Yes SQL_Running:Yes版本:5.7 默认;8.0 改用 SHOW REPLICA STATUS

13. 主库 binlog 位置

sql

复制代码
SHOW MASTER STATUS;

结果:mysql-bin.000123,Position 154版本:所有版本通用

14. 慢查询开关

sql

复制代码
SHOW VARIABLES LIKE 'slow_query_log';

结果:ON/OFF版本:所有版本通用

15. 慢查询阈值

sql

复制代码
SHOW VARIABLES LIKE 'long_query_time';

结果:1.000000版本:所有版本通用

16. 各库空间大小

sql

复制代码
SELECT table_schema,SUM(data_length+index_length)/1024/1024 total_mb FROM information_schema.TABLES GROUP BY table_schema ORDER BY total_mb DESC;

结果:testdb | 2560MB版本:所有版本通用

17. 单表空间

sql

复制代码
SELECT table_name,data_length/1024/1024 data_mb,index_length/1024/1024 index_mb FROM information_schema.TABLES WHERE table_schema='库' AND table_name='表';

结果:user | 512 | 128版本:所有版本通用

18. kill 连接

sql

复制代码
KILL 1234;

结果:Query OK版本:所有版本通用

19. 运行时长

sql

复制代码
SHOW STATUS LIKE 'Uptime';

结果:86400(秒)版本:所有版本通用

20. 当前数据库

sql

复制代码
SELECT DATABASE();

结果:testdb版本:所有版本通用

21. 运行中的 SQL

sql

复制代码
SELECT * FROM information_schema.PROCESSLIST WHERE Command!='Sleep';

结果:正在执行的 SQL版本:所有版本通用

22. 按 IP 统计连接

sql

复制代码
SELECT SUBSTRING_INDEX(HOST,':',1) ip,COUNT(*) conn FROM information_schema.PROCESSLIST GROUP BY ip ORDER BY conn DESC;

结果:192.168.1.10 | 120版本:所有版本通用

23. 批量 kill 空闲连接

sql

复制代码
SELECT CONCAT('KILL ',id,';') FROM information_schema.PROCESSLIST WHERE Command='Sleep' AND TIME>300;

结果:KILL 123;版本:所有版本通用

24. 运行中事务

sql

复制代码
SELECT * FROM information_schema.INNODB_TRX\G

结果:trx_id,trx_state,trx_query版本:5.7/8.0 通用

25. 锁等待

sql

复制代码
SELECT * FROM performance_schema.data_lock_waits;

结果:阻塞关系版本:MySQL 8.0 + 专用

26. 锁详情

sql

复制代码
SELECT * FROM performance_schema.data_locks;

结果:锁类型、锁范围版本:MySQL 8.0 + 专用

27. 长事务 >60s

sql

复制代码
SELECT * FROM information_schema.INNODB_TRX WHERE TIME_TO_SEC(trx_duration)>60;

结果:长事务列表版本:5.7/8.0 通用

28. 行锁状态

sql

复制代码
SHOW STATUS LIKE 'Innodb_row_lock%';

结果:等待次数、等待时间版本:所有版本通用

29. 事务隔离级别

sql

复制代码
SELECT @@transaction_isolation;

结果:REPEATABLE-READ版本:8.0 专用;5.7 用 @@tx_isolation

30. QPS 查询总数

sql

复制代码
SHOW STATUS LIKE 'Queries';

结果:1234567版本:所有版本通用

31. TPS

sql

复制代码
SHOW STATUS LIKE 'Com_commit';
SHOW STATUS LIKE 'Com_rollback';

结果:提交、回滚次数版本:所有版本通用

32. 脏页数量

sql

复制代码
SHOW STATUS LIKE 'Innodb_buffer_pool_pages_dirty';

结果:128版本:所有版本通用

33. 磁盘临时表

sql

复制代码
SHOW STATUS LIKE 'Created_tmp_disk_tables';

结果:1024版本:所有版本通用

34. 文件排序

sql

复制代码
SHOW STATUS LIKE 'Sort_merge_passes';

结果:512版本:所有版本通用

35. 执行计划

sql

复制代码
EXPLAIN SELECT * FROM 表 WHERE 条件;

结果:type、key、rows、Extra版本:所有版本通用

36. 字符集

sql

复制代码
SHOW VARIABLES LIKE 'character_set%';

结果:utf8mb4版本:所有版本通用

37. 数据目录

sql

复制代码
SHOW VARIABLES LIKE 'datadir';

结果:/var/lib/mysql版本:所有版本通用

38. 端口

sql

复制代码
SHOW VARIABLES LIKE 'port';

结果:3306版本:所有版本通用

39. 是否开启 binlog

sql

复制代码
SHOW VARIABLES LIKE 'log_bin';

结果:ON/OFF版本:所有版本通用

40. binlog 格式

sql

复制代码
SHOW VARIABLES LIKE 'binlog_format';

结果:ROW版本:所有版本通用

41. 错误日志路径

sql

复制代码
SHOW VARIABLES LIKE 'log_error';

结果:/var/log/mysqld.log版本:所有版本通用

42. 缓冲池大小

sql

复制代码
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';

结果:8G版本:所有版本通用

43. 表最后更新时间

sql

复制代码
SELECT TABLE_NAME,UPDATE_TIME FROM information_schema.TABLES WHERE TABLE_SCHEMA='库';

结果:user | 2026-03-25 10:00:00版本:所有版本通用

44. 检查表损坏

sql

复制代码
CHECK TABLE 表名;

结果:status=OK版本:所有版本通用

45. 临时开启慢查询

sql

复制代码
SET GLOBAL slow_query_log=1;
SET GLOBAL long_query_time=1;

结果:Query OK版本:所有版本通用

46. 当前登录用户

sql

复制代码
SELECT USER();

结果:root@localhost版本:所有版本通用

47. 打开表数量

sql

复制代码
SHOW STATUS LIKE 'Open_tables';

结果:256版本:所有版本通用

48. 运行线程数

sql

复制代码
SHOW STATUS LIKE 'Threads_running';

结果:8版本:所有版本通用

49. redo log 大小

sql

复制代码
SHOW VARIABLES LIKE 'innodb_log_file_size';

结果:1G版本:所有版本通用

50. 事务刷盘策略

sql

复制代码
SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';

结果:1版本:所有版本通用


二、中频常用(故障定位,30 条)

51. 更新统计信息

sql

复制代码
ANALYZE TABLE 表名;

结果:OK版本:所有版本通用

52. 回收表碎片

sql

复制代码
OPTIMIZE TABLE 表名;

结果:OK版本:所有版本通用

53. 无主键表检查

sql

复制代码
SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql','sys','information_schema','performance_schema') AND TABLE_TYPE='BASE TABLE' AND TABLE_NAME NOT IN (SELECT TABLE_NAME FROM information_schema.KEY_COLUMN_USAGE WHERE CONSTRAINT_NAME='PRIMARY');

结果:无主键表清单版本:所有版本通用

54. 表碎片大小

sql

复制代码
SELECT TABLE_NAME,DATA_FREE/1024/1024 free_mb FROM information_schema.TABLES WHERE TABLE_SCHEMA='库';

结果:128MB版本:所有版本通用

55. binlog 文件列表

sql

复制代码
SHOW BINARY LOGS;

结果:mysql-bin.000123版本:所有版本通用

56. 查看复制线程

sql

复制代码
SHOW PROCESSLIST WHERE User='repl';

结果:复制状态版本:所有版本通用

57. 跳过复制错误

sql

复制代码
STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;

结果:OK版本:5.7 专用;8.0 用 REPLICA

58. 半同步状态

sql

复制代码
SHOW STATUS LIKE 'Rpl_semi_sync%';

结果:ON/OFF版本:所有版本通用

59. GTID 模式

sql

复制代码
SHOW VARIABLES LIKE 'gtid_mode';

结果:ON版本:5.7 + 支持

60. 空闲连接超时

sql

复制代码
SHOW VARIABLES LIKE 'wait_timeout';

结果:28800版本:所有版本通用

61. 交互超时

sql

复制代码
SHOW VARIABLES LIKE 'interactive_timeout';

结果:28800版本:所有版本通用

62. InnoDB 页大小

sql

复制代码
SHOW VARIABLES LIKE 'innodb_page_size';

结果:16384版本:所有版本通用

63. 双写缓冲

sql

复制代码
SHOW VARIABLES LIKE 'innodb_doublewrite';

结果:ON版本:所有版本通用

64. 存储引擎列表

sql

复制代码
SHOW ENGINES;

结果:InnoDB DEFAULT版本:所有版本通用

65. 库表数量

sql

复制代码
SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA='库';

结果:120版本:所有版本通用

66. 未使用索引表

sql

复制代码
SELECT * FROM sys.schema_unused_indexes;

结果:未使用索引版本:5.7/8.0 通用(需安装 sys 库)

67. 慢查询日志路径

sql

复制代码
SHOW VARIABLES LIKE 'slow_query_log_file';

结果:/var/lib/mysql/slow.log版本:所有版本通用

68. 连接使用内存

sql

复制代码
SHOW STATUS LIKE 'Threads_created';

结果:1024版本:所有版本通用

69. 表缓存命中率

sql

复制代码
SHOW STATUS LIKE 'Table_open_cache_hits';

结果:100000版本:所有版本通用

70. 锁定的表

sql

复制代码
SHOW OPEN TABLES WHERE In_use>0;

结果:被锁定的表版本:所有版本通用

71. 主从延迟

sql

复制代码
SHOW SLAVE STATUS\G

结果:Seconds_Behind_Master: 10版本:5.7;8.0 用 REPLICA

72. 查看连接限制

sql

复制代码
SHOW VARIABLES LIKE 'max_user_connections';

结果:100版本:所有版本通用

73. 排序缓存

sql

复制代码
SHOW VARIABLES LIKE 'sort_buffer_size';

结果:2M版本:所有版本通用

74. 连接缓存

sql

复制代码
SHOW VARIABLES LIKE 'join_buffer_size';

结果:2M版本:所有版本通用

75. 只读状态

sql

复制代码
SHOW VARIABLES LIKE 'read_only';

结果:OFF版本:所有版本通用

76. 二进制日志索引

sql

复制代码
SHOW VARIABLES LIKE 'log_bin_index';

结果:/var/lib/mysql/mysql-bin.index版本:所有版本通用

77. 临时表大小

sql

复制代码
SHOW VARIABLES LIKE 'tmp_table_size';

结果:64M版本:所有版本通用

78. 最大临时表

sql

复制代码
SHOW VARIABLES LIKE 'max_heap_table_size';

结果:64M版本:所有版本通用

79. 自动提交

sql

复制代码
SHOW VARIABLES LIKE 'autocommit';

结果:ON版本:所有版本通用

80. 查看所有状态

sql

复制代码
SHOW GLOBAL STATUS;

结果:全局状态版本:所有版本通用


三、低频专用(维护优化,25 条)

81. 创建用户

sql

复制代码
CREATE USER 'ops'@'%' IDENTIFIED BY 'pwd';

结果:OK版本:8.0 要求密码强策略;5.7 宽松

82. 授权全库权限

sql

复制代码
GRANT ALL ON 库.* TO 'user'@'%';

结果:OK版本:所有版本通用

83. 授权只读

sql

复制代码
GRANT SELECT ON *.* TO 'read'@'%';

结果:OK版本:所有版本通用

84. 授权复制权限

sql

复制代码
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

结果:OK版本:所有版本通用

85. 刷新权限

sql

复制代码
FLUSH PRIVILEGES;

结果:OK版本:所有版本通用

86. 修改密码

sql

复制代码
ALTER USER 'root'@'%' IDENTIFIED BY 'newpwd';

结果:OK版本:8.0 专用;5.7 用 SET PASSWORD

87. 删除用户

sql

复制代码
DROP USER 'test'@'%';

结果:OK版本:所有版本通用

88. 创建索引

sql

复制代码
CREATE INDEX idx_xx ON 表(字段);

结果:OK版本:所有版本通用

89. 删除索引

sql

复制代码
DROP INDEX idx_xx ON 表;

结果:OK版本:所有版本通用

90. 启动从库

sql

复制代码
START SLAVE;

结果:OK版本:5.7;8.0 用 START REPLICA

91. 停止从库

sql

复制代码
STOP SLAVE;

结果:OK版本:5.7;8.0 用 STOP REPLICA

92. 重置从库

sql

复制代码
RESET SLAVE;

结果:OK版本:5.7;8.0 用 RESET REPLICA

93. 清理 binlog

sql

复制代码
PURGE BINARY LOGS TO 'mysql-bin.000100';

结果:OK版本:所有版本通用

94. 刷新日志

sql

复制代码
FLUSH LOGS;

结果:OK版本:所有版本通用

95. 刷新表

sql

复制代码
FLUSH TABLES;

结果:OK版本:所有版本通用

96. 开启只读

sql

复制代码
SET GLOBAL read_only=1;
SET GLOBAL super_read_only=1;

结果:OK版本:super_read_only 8.0 + 支持

97. 关闭只读

sql

复制代码
SET GLOBAL read_only=0;

结果:OK版本:所有版本通用

98. 查看 undo 日志

sql

复制代码
SHOW VARIABLES LIKE 'innodb_undo_log_truncate';

结果:ON版本:5.7 + 支持

99. 查看同步 IO 状态

sql

复制代码
SHOW STATUS LIKE 'Innodb_data_reads';

结果:123456版本:所有版本通用

100. 查看同步写入

sql

复制代码
SHOW STATUS LIKE 'Innodb_data_writes';

结果:789000版本:所有版本通用


四、高危 / 极少用(割接 / 故障,22 条)

101. 强制 kill 长时间查询

sql

复制代码
SELECT CONCAT('KILL ',id,';') FROM information_schema.PROCESSLIST WHERE TIME>600;

结果:批量 kill 语句版本:所有版本通用

102. 查看密码策略

sql

复制代码
SHOW VARIABLES LIKE 'validate_password%';

结果:密码规则版本:8.0 默认开启;5.7 需插件

103. 查看用户锁定状态

sql

复制代码
SELECT user,host,account_locked FROM mysql.user;

结果:UNLOCKED版本:8.0 专用

104. 锁定用户

sql

复制代码
ALTER USER 'test'@'%' ACCOUNT LOCK;

结果:OK版本:8.0 专用

105. 解锁用户

sql

复制代码
ALTER USER 'test'@'%' ACCOUNT UNLOCK;

结果:OK版本:8.0 专用

106. 密码过期

sql

复制代码
ALTER USER 'test'@'%' PASSWORD EXPIRE;

结果:OK版本:8.0 专用

107. 查看表空间

sql

复制代码
SELECT * FROM information_schema.INNODB_TABLESPACES;

结果:表空间信息版本:5.7 + 支持

108. 查看缓冲池状态

sql

复制代码
SHOW STATUS LIKE 'Innodb_buffer_pool_wait_free';

结果:0(正常)版本:所有版本通用

109. 查看日志缓冲区

sql

复制代码
SHOW VARIABLES LIKE 'innodb_log_buffer_size';

结果:16M版本:所有版本通用

110. 查看 IO 线程

sql

复制代码
SHOW VARIABLES LIKE 'innodb_read_io_threads';

结果:4版本:所有版本通用

111. 查看写入线程

sql

复制代码
SHOW VARIABLES LIKE 'innodb_write_io_threads';

结果:4版本:所有版本通用

112. 查看主库 UUID

sql

复制代码
SHOW VARIABLES LIKE 'server_uuid';

结果:uuid 串版本:5.7 + 支持

113. 查看执行计划详情

sql

复制代码
EXPLAIN ANALYZE SELECT * FROM 表;

结果:运行时统计版本:MySQL 8.0.18 + 专用

114. 查看系统变量

sql

复制代码
SHOW VARIABLES;

结果:全部配置版本:所有版本通用

115. 查看中继日志

sql

复制代码
SHOW RELAYLOG EVENTS;

结果:中继日志内容版本:所有版本通用

116. 查看 binlog 内容

sql

复制代码
SHOW BINLOG EVENTS IN 'mysql-bin.000123';

结果:binlog 记录版本:所有版本通用

117. 查看连接使用 CPU

sql

复制代码
SELECT * FROM performance_schema.threads;

结果:线程 CPU版本:8.0 专用

118. 查看内存使用

sql

复制代码
SELECT * FROM sys.memory_global_total;

结果:总内存版本:8.0 专用

119. 查看连接数历史峰值

sql

复制代码
SHOW STATUS LIKE 'Max_used_connections';

结果:历史最大连接版本:所有版本通用

120. 查看 redo log 状态

sql

复制代码
SHOW STATUS LIKE 'Innodb_log_waits';

结果:0(正常)版本:所有版本通用

121. 查看事务数

sql

复制代码
SHOW STATUS LIKE 'Innodb_trx_rseg_history_len';

结果:历史链表长度版本:所有版本通用

122. 查看自增 ID 耗尽风险

sql

复制代码
SELECT table_schema,table_name,column_name,data_type,MAX(column_name) max_id FROM 库.表 GROUP BY column_name;

结果:ID 使用情况版本:所有版本通用


最终版手册核心说明

  1. 通用:MySQL 5.6 / 5.7 / 8.0 都能用
  2. 5.7 专属SLAVE 系列主从命令
  3. 8.0 专属REPLICAEXPLAIN ANALYZEdata_locks、用户锁定
相关推荐
hopsky2 小时前
ClickHouse SQL 在 Java 中的校验方法
java·sql·clickhouse
流星白龙2 小时前
【MySQL】1.MySQL数据库基础
数据库·mysql·adb
刚入门的大一新生2 小时前
Linux-Linux的基础指令3
linux·运维·服务器
草莓熊Lotso2 小时前
MySQL 复合查询核心指南:多表、子查询与实战技巧
linux·运维·服务器·数据库·人工智能·mysql
kaoa0002 小时前
Linux入门攻坚——71、puppet-1
linux·运维·puppet
GAOJ_K2 小时前
旋转花键在高端制造中的差异化应用
运维·人工智能·科技·机器人·自动化·制造
炸炸鱼.2 小时前
MySQL 索引与事务核心知识点
数据库·mysql
Xiaoweidumpb2 小时前
win10 Windows服务器开放端口防火墙规则 远程控制桌面
运维·服务器·windows
stanlyYP2 小时前
服务器openclaw操作
运维·服务器