1. 查询缓存情况 SHOW VARIABLES LIKE '%cache%';

  2. 查询慢查询情况
    SHOW VARIABLES LIKE '%slow%';
    SHOW GLOBAL STATUS LIKE '%slow%';

  3. 查看最大链接数
    SHOW VARIABLES LIKE 'max_connections';

  4. 查看最大链接过的用户数
    SHOW GLOBAL STATUS LIKE 'max_used_connections';

  5. 显示用户正在运行的线程
    SHOW PROCESSLIST;

    SELECT * FROM information_schema.processlist;
    参考:mysql: show processlist 详解

    如果出现有表锁定,无法查询的情况,可以使用 该命令来查询出任务的线程的id,然后kill id,即可结束线程(注意不要随便在运行的服务上,做alter table操作,包含更改表备注,不然可能会导致表锁定,深刻体会)。参考:MySQL出现Waiting for table metadata lock的原因以及解决方法

  6. 查询出innodb的引擎的情况 SHOW ENGINE INNODB STATUS
    参考:mysql性能监控指标及分析

  7. 在线alter表的注意事项及注意的坑。
    7.1 查询事务:

    5.5 版本

SELECT
*
/**a.trx_id,a.trx_state,a.trx_started,a.trx_query,b.ID,b. USER,b. HOST,b.DB,b.COMMAND,b.TIME,b.STATE,b.INFO**/
FROMinformation_schema.INNODB_TRX a
LEFT JOIN information_schema.PROCESSLIST b ON a.trx_mysql_thread_id = b.id
WHEREb.COMMAND = 'Sleep';

5.6版本(支持在线ddl)

SELECTa.trx_id,a.trx_state,a.trx_started,a.trx_query,b.ID,b.USER,b.DB,b.COMMAND,b.TIME,b.STATE,b.INFO,c.PROCESSLIST_USER,c.PROCESSLIST_HOST,c.PROCESSLIST_DB,d.SQL_TEXT
FROMinformation_schema.INNODB_TRX a
LEFT JOIN information_schema.PROCESSLIST b ON a.trx_mysql_thread_id = b.id
AND b.COMMAND = 'Sleep'
LEFT JOIN PERFORMANCE_SCHEMA.threads c ON b.id = c.PROCESSLIST_ID
LEFT JOIN PERFORMANCE_SCHEMA.events_statements_current d ON d.THREAD_ID = c.THREAD_ID;
  1. 查询某个表的索引情况,一般查询太慢都是没有命中联合索引.
SELECT a.TABLE_SCHEMA,
a.TABLE_NAME,
a.index_name,
GROUP_CONCAT(column_name ORDER BY seq_in_index) AS `Columns`
FROM information_schema.statistics a
GROUP BY a.TABLE_SCHEMA,a.TABLE_NAME,a.index_name
having a.TABLE_NAME='dm_yy_kxd_nationnalver_ztsj_xg_day'
  1. Mysql备份数据库:mysqldump -h 127.0.0.1 -P 3306 -u root -ppsd --databases samego > /home/alic/MySQL/samego.sql

    其中,127.0.0.1为数据库地址,3306为数据库端口,root为数据库账号,psd 为数据库账号密码,samego为数据库的名称,/home/alic/MySQL/samego.sql 为备份的数据库的文件的地址.

    参考:MySQL在线DDL修改表结构的简单经验分享

  2. 如果查询某个表,看起来数量很少,但是实际查询很慢,可能是因为有些数据还没实际删除。一般我们执行 delete 操作并不会实际删除表在磁盘上的数据,实际删除表在磁盘上的数据需要执行以下两个命令,optimize table talter table t engine=InnoDB

    注意,如果是Mysql 5.6 版本以下的会锁表。

    参考:mysql删除操作其实是假删除
    MySQL 官方文档

  3. 查询数据库或表的容量
    查询数据库的容量

    SELECT
    table_schema AS '数据库',
    SUM(TRUNCATE(data_length/1024/1024, 2)) AS '数据容量(MB)',
    SUM(TRUNCATE(data_free/1024/1024,2)) AS '空间碎片(MB)',
    SUM(TRUNCATE(index_length/1024/1024, 2)) AS '索引容量(MB)'
    FROM information_schema.tables
    GROUP BY table_schema
    

    查询表的容量

    SELECT
    table_schema AS '数据库',
    table_name AS '表名',
    table_rows AS '记录数',
    TRUNCATE(data_length/1024/1024, 2) AS '数据容量(MB)',
    TRUNCATE(data_free/1024/1024,2) AS '空间碎片(MB)',
    TRUNCATE(index_length/1024/1024, 2) AS '索引容量(MB)'
    FROM information_schema.tables
    ORDER BY data_length DESC, index_length DESC;
    

    2020-11-22 删除查询表容量中的 max_data_length 字段,该字段含义表示“表数据的最大容量”,参考,《高性能MySQL》第三版

  4. 查询数据库的 bin_log 日志情况 show global variables like '%log_bin%';

以下为没有开bin-log日志的

以下为开了binlog日志的,binlog并且binlog日志,在log_bin_basename 对应的value目录中

13. 查询语句没有走对索引,可以执行一下 ANALYZE TABLE tbl_name 来重新调整表,不过注意执行这个的时候可能会加读锁,会影响写操作,和并发读操作。 参考:MySQL5.6 官方文档 , MySQL为什么有时候会选错索引?

  1. ALTER TABLE test_table ENGINE=INNODB; MySQL 5.6 清除表的空间碎片,注意小心操作,如果表比较大,会耗费MySQL比较多资源 和可能锁表

  2. sudo mysqlbinlog -vv --base64-output=decode-rows /data/zhangcanlong/binlog/mysql-bin.003303 --database=test_db --start-datetime='2022-03-22 14:00:00' --stop-datetime='2022-03-30 22:00:00'| grep -A 200 zhangcanlong_test_t 恢复指定时间下,指定库 test_db,指定表zhangcanlong_test_t 的binlog日志信息

参考

  1. MySQL查看数据库表容量大小
  2. 记一次 mysql 磁盘满解决过程
  3. 打钱!我的数据库被黑客勒索了!

Mysql性能监控常用查询命令相关推荐

  1. Oracle性能监控常用命令

    Oracle性能监控常用命令 --监控事例的等待 select event,        sum(decode(wait_Time, 0, 0, 1)) "Prev",      ...

  2. 超级干货:3个性能监控和优化命令详解

    小编为大家整理出了三个有关性能监控和优化命令详细讲解,别看只有三个,但不影响他噎啊,本篇文章很长,涉及top命令.free命令和vmstat命令,真的是很详细的讲解,希望能帮到大家,另外还有两条相关的 ...

  3. java如何监控cpu耗时_超级干货:3个性能监控和优化命令讲解

    原标题:超级干货:3个性能监控和优化命令讲解 小编为大家整理出了三个有关性能监控和优化命令详细讲解,别看只有三个,但不影响他噎啊,本篇文章很长,涉及top命令.free命令和 vmstat命令,真的是 ...

  4. mysql性能监控指标_mysql性能监控指标

    mysql性能监控指标1.系统mysql的进程数 ps-ef | grep "mysql" | grep -v "grep" |wc –l2.Slave_run ...

  5. 3个性能监控和优化命令讲解

    整理出了三个有关性能监控和优化命令详细讲解,文章很长,涉及top命令.free命令和vmstat命令,真的是很详细的讲解,希望能帮到大家 1 top命令 top命令是Linux下常用的性能分析工具,能 ...

  6. MySQL 性能监控4大指标——第一部分

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标. 第一部分将详细介绍前两个指标: 查询吞吐量与查询执行性能.文章系国内 ITOM 管理平台 OneAPM ...

  7. 01:操作系统(centos,redhat):性能监控和网络命令

    性能监控和优化命令     top 命令功能:显示当前系统正在执行的进程的相关信息,包括进程ID.内存占用率.CPU占用率等 常用参数: -d    屏幕刷新间隔时间 屏幕信息解释字段说明: 第一行: ...

  8. MySQL 性能监控 4 大指标

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现.    MySQL 是什么? MySQL  ...

  9. Eucalyptus常用查询命令

    前言: Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus)  ...

最新文章

  1. 自然语言处理中句子相似度计算的几种方法
  2. 人员梯度培养_关键人才的梯队培养
  3. 评分卡开发方法论scorecard
  4. Libvirsh 问题:GLib-WARNING **: gmem.c:483: custom memory allocation vtable not supported
  5. 为什么parsefloat加出来还是字符串_为什么酒店的包子做的这么好吃?里面加了什么说出来你可能不信...
  6. hmailserver mysql密码_第二步:点晴MIS系统Email模块hMailServer数据库连接配置指引
  7. 顺序结构,选择结构,反编译
  8. 解决 jsp:include 引用文件时出现乱码的问题
  9. 线报天下 2021 (免费补丁) 原创工具
  10. 进入市场之前该读哪些书?——来自知乎用户刘鹏程Sai.L的答案
  11. matlab-计算个人所得税
  12. pandorabox php7,飞鱼星G7免拆刷入pandorabox
  13. 《金蝶ERP-K/3完全使用详解》——6.2 产品预测单
  14. 推荐一个GitHub上牛b的Java学习项目,已整理成了文档版本
  15. VDA6.5认证辅导,VDA6.5是VDA6中的第五部分用产品质量来确认质量能力
  16. surface usb启动_Surface Book 2开发人员印象和USB-C的魔力
  17. Intel(R) Xeon(R) CPU E5-2678 v3
  18. html游戏让目标人物移动,用仿ActionScript的语法来编写html5——第三篇,鼠标事件与游戏人物移动...
  19. hadoop3.0 启动后输入 jps没有进程
  20. jda 沃尔玛_如何通过沃尔玛应用程序的“储蓄守望者”省钱

热门文章

  1. Termux安装Kali(详细版)
  2. FTP:文件传输协议
  3. X230网卡驱动安装总不成功的问题
  4. 我要喷一个自认为很垃圾的网站架构 - 老赵【苏州】
  5. error_code: 此条为不计费广告,正常投放请联
  6. spark sql 官网示例
  7. 3、HashMap、HashTable和ConcurrentHashMap的区别?
  8. 机器学习基础学习笔记【二】
  9. python如何比较大小_python列表如何比较大小
  10. 【JS】去除“确认重新提交表单”