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 发布!

相关推荐
screenCui22 分钟前
macOS运行python程序遇libiomp5.dylib库冲突错误解决方案
开发语言·python·macos
小眼睛羊羊30 分钟前
pyinstaller打包paddleocr
python
java1234_小锋35 分钟前
基于Python的旅游推荐协同过滤算法系统(去哪儿网数据分析及可视化(Django+echarts))
python·数据分析·旅游
蓝婷儿37 分钟前
Python 机器学习核心入门与实战进阶 Day 4 - 支持向量机(SVM)原理与分类实战
python·机器学习·支持向量机
%d%d21 小时前
python 在运行时没有加载修改后的版本
java·服务器·python
amazinging2 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十七天
python·学习·selenium
Freak嵌入式2 小时前
一文速通 Python 并行计算:13 Python 异步编程-基本概念与事件循环和回调机制
开发语言·python·嵌入式·协程·硬件·异步编程
一个天蝎座 白勺 程序猿2 小时前
Python练习(1)Python基础类型操作语法实战:20道实战题解与案例分析(上)
开发语言·python·学习
巨人张3 小时前
信息素养Python编程题
开发语言·python
站大爷IP3 小时前
Python爬虫动态IP代理报错全解析:从问题定位到实战优化
python