MySQL数据库运维常用查询

【MySQL实用查询合集】整理高频运维SQL,帮你快速定位数据库问题!涵盖表空间占用查询、主从同步状态检测、慢查询统计、连接分析等7大场景。收藏这篇,让数据库调优更高效

1. 查询磁盘空间占用情况

  • 查询表占用空间

    sql 复制代码
    SELECT 
        table_schema AS '数据库',
        table_name AS '表名',
        table_rows AS '记录数',
        ROUND(data_length / 1024 / 1024, 2) AS '数据大小(MB)',
        ROUND(index_length / 1024 / 1024, 2) AS '索引大小(MB)',
        ROUND((data_length + index_length) / 1024 / 1024, 2) AS '总大小(MB)'
    FROM 
        information_schema.tables
    WHERE 
        table_schema = '数据库名称'
    ORDER BY 
        (data_length + index_length) DESC;

    查看指定数据库中各表的空间占用。

  • 查询数据库总占用空间

    sql 复制代码
    SELECT 
        table_schema AS '数据库',
        ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS '总大小(MB)'
    FROM 
        information_schema.tables
    GROUP BY 
        table_schema
    ORDER BY 
        SUM(data_length + index_length) DESC;

    汇总每个数据库的总空间占用。

  • 查询分区表的分区大小

    sql 复制代码
    SELECT 
        table_schema AS '数据库',
        table_name AS '表名',
        partition_name AS '分区名',
        table_rows AS '记录数',
        ROUND(data_length / 1024 / 1024, 2) AS '数据大小(MB)',
        ROUND(index_length / 1024 / 1024, 2) AS '索引大小(MB)',
        ROUND((data_length + index_length) / 1024 / 1024, 2) AS '总大小(MB)'
    FROM 
        information_schema.partitions
    WHERE 
        table_schema = '数据库名称' 
        AND table_name = '表名';

    查看分区表的每个分区大小。

2. 查询主从同步状态

  • 检查从库同步状态(在从库执行):

    sql 复制代码
    SHOW SLAVE STATUS\G

    显示从库的复制状态,关注以下关键字段:

    • Slave_IO_Running: 是否正在读取主库的 binlog(应为 Yes)。

    • Slave_SQL_Running: 是否正在应用 binlog(应为 Yes)。

    • Seconds_Behind_Master: 从库落后主库的秒数(0 表示无延迟)。

    • Last_IO_Error / Last_SQL_Error: 复制错误信息。

  • 检查主库状态(在主库执行):

    sql 复制代码
    SHOW MASTER STATUS;

    显示主库的 binlog 文件名和位置,用于配置从库或排查问题。

3. 查询性能和运行状态

  • 查询慢查询

    sql 复制代码
    SHOW GLOBAL STATUS LIKE 'Slow_queries';

    查看慢查询次数(需启用慢查询日志)。

4. 查询连接和会话

  • 查看当前连接

    sql 复制代码
    SHOW PROCESSLIST;

    显示当前所有连接的详细信息,包括用户、状态、执行的 SQL 等。

  • 统计连接数

    sql 复制代码
    SELECT 
        user, 
        COUNT(*) AS connection_count 
    FROM 
        information_schema.processlist 
    GROUP BY 
        user;

    按用户统计当前连接数。

  • 查看最大连接数和使用情况

    sql 复制代码
    SHOW VARIABLES LIKE 'max_connections';
    SHOW GLOBAL STATUS LIKE 'Threads_connected';

    检查最大连接数和当前连接数。

5. 查询索引和表结构

  • 查看表索引

    sql 复制代码
    SHOW INDEX FROM table_name;

    显示指定表的索引信息。

  • 查看表结构

    sql 复制代码
    DESCRIBE table_name;

    或:

    sql 复制代码
    SHOW CREATE TABLE table_name\G

    查看表的字段、类型、约束等详细信息。

6. 查询日志和配置

  • 查看慢查询日志配置

    sql 复制代码
    SHOW VARIABLES LIKE 'slow_query_log%';
    SHOW VARIABLES LIKE 'long_query_time';

    检查慢查询日志是否启用及阈值。

  • 查看二进制日志状态

    sql 复制代码
    SHOW BINARY LOGS;

    列出当前二进制日志文件及其大小。

  • 查看通用查询日志

    sql 复制代码
    SHOW VARIABLES LIKE 'general_log%';

    检查通用查询日志是否启用。

7. 其他运维相关查询

  • 查看用户权限

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

    查看数据库用户及其认证信息。

  • 查看表状态

    sql 复制代码
    SHOW TABLE STATUS FROM 数据库名称;

    显示表的详细信息,如存储引擎、行数、创建时间等。

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
知乎的哥廷根数学学派6 小时前
面向可信机械故障诊断的自适应置信度惩罚深度校准算法(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习·矩阵
且去填词7 小时前
DeepSeek :基于 Schema 推理与自愈机制的智能 ETL
数据仓库·人工智能·python·语言模型·etl·schema·deepseek
人工干智能7 小时前
OpenAI Assistants API 中 client.beta.threads.messages.create方法,兼谈一星*和两星**解包
python·llm
databook7 小时前
当条形图遇上极坐标:径向与圆形条形图的视觉革命
python·数据分析·数据可视化
阿部多瑞 ABU8 小时前
`chenmo` —— 可编程元叙事引擎 V2.3+
linux·人工智能·python·ai写作
acanab8 小时前
VScode python插件
ide·vscode·python
知乎的哥廷根数学学派8 小时前
基于生成对抗U-Net混合架构的隧道衬砌缺陷地质雷达数据智能反演与成像方法(以模拟信号为例,Pytorch)
开发语言·人工智能·pytorch·python·深度学习·机器学习
WangYaolove13149 小时前
Python基于大数据的电影市场预测分析(源码+文档)
python·django·毕业设计·源码
知乎的哥廷根数学学派9 小时前
基于自适应多尺度小波核编码与注意力增强的脉冲神经网络机械故障诊断(Pytorch)
人工智能·pytorch·python·深度学习·神经网络·机器学习
cnxy18810 小时前
Python爬虫进阶:反爬虫策略与Selenium自动化完整指南
爬虫·python·selenium