Mysql性能监控常用查询命令
查询缓存情况
SHOW VARIABLES LIKE '%cache%';
查询慢查询情况
SHOW VARIABLES LIKE '%slow%';
SHOW GLOBAL STATUS LIKE '%slow%';
查看最大链接数
SHOW VARIABLES LIKE 'max_connections';
查看最大链接过的用户数
SHOW GLOBAL STATUS LIKE 'max_used_connections';
显示用户正在运行的线程
SHOW PROCESSLIST;
或
SELECT * FROM information_schema.processlist;
参考:mysql: show processlist 详解如果出现有表锁定,无法查询的情况,可以使用 该命令来查询出任务的线程的id,然后
kill id
,即可结束线程(注意不要随便在运行的服务上,做alter table操作,包含更改表备注,不然可能会导致表锁定,深刻体会)。参考:MySQL出现Waiting for table metadata lock的原因以及解决方法查询出innodb的引擎的情况
SHOW ENGINE INNODB STATUS
参考:mysql性能监控指标及分析在线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;
- 查询某个表的索引情况,一般查询太慢都是没有命中联合索引.
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'
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修改表结构的简单经验分享
如果查询某个表,看起来数量很少,但是实际查询很慢,可能是因为有些数据还没实际删除。一般我们执行
delete
操作并不会实际删除表在磁盘上的数据,实际删除表在磁盘上的数据需要执行以下两个命令,optimize table t
或alter table t engine=InnoDB
。注意,如果是Mysql 5.6 版本以下的会锁表。
参考:mysql删除操作其实是假删除
MySQL 官方文档查询数据库或表的容量
查询数据库的容量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》第三版
查询数据库的 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为什么有时候会选错索引?
ALTER TABLE test_table ENGINE=INNODB;
MySQL 5.6 清除表的空间碎片,注意小心操作,如果表比较大,会耗费MySQL比较多资源 和可能锁表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日志信息
参考
- MySQL查看数据库表容量大小
- 记一次 mysql 磁盘满解决过程
- 打钱!我的数据库被黑客勒索了!
Mysql性能监控常用查询命令相关推荐
- Oracle性能监控常用命令
Oracle性能监控常用命令 --监控事例的等待 select event, sum(decode(wait_Time, 0, 0, 1)) "Prev", ...
- 超级干货:3个性能监控和优化命令详解
小编为大家整理出了三个有关性能监控和优化命令详细讲解,别看只有三个,但不影响他噎啊,本篇文章很长,涉及top命令.free命令和vmstat命令,真的是很详细的讲解,希望能帮到大家,另外还有两条相关的 ...
- java如何监控cpu耗时_超级干货:3个性能监控和优化命令讲解
原标题:超级干货:3个性能监控和优化命令讲解 小编为大家整理出了三个有关性能监控和优化命令详细讲解,别看只有三个,但不影响他噎啊,本篇文章很长,涉及top命令.free命令和 vmstat命令,真的是 ...
- mysql性能监控指标_mysql性能监控指标
mysql性能监控指标1.系统mysql的进程数 ps-ef | grep "mysql" | grep -v "grep" |wc –l2.Slave_run ...
- 3个性能监控和优化命令讲解
整理出了三个有关性能监控和优化命令详细讲解,文章很长,涉及top命令.free命令和vmstat命令,真的是很详细的讲解,希望能帮到大家 1 top命令 top命令是Linux下常用的性能分析工具,能 ...
- MySQL 性能监控4大指标——第一部分
[编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标. 第一部分将详细介绍前两个指标: 查询吞吐量与查询执行性能.文章系国内 ITOM 管理平台 OneAPM ...
- 01:操作系统(centos,redhat):性能监控和网络命令
性能监控和优化命令 top 命令功能:显示当前系统正在执行的进程的相关信息,包括进程ID.内存占用率.CPU占用率等 常用参数: -d 屏幕刷新间隔时间 屏幕信息解释字段说明: 第一行: ...
- MySQL 性能监控 4 大指标
[编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现. MySQL 是什么? MySQL ...
- Eucalyptus常用查询命令
前言: Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) ...
最新文章
- 自然语言处理中句子相似度计算的几种方法
- 人员梯度培养_关键人才的梯队培养
- 评分卡开发方法论scorecard
- Libvirsh 问题:GLib-WARNING **: gmem.c:483: custom memory allocation vtable not supported
- 为什么parsefloat加出来还是字符串_为什么酒店的包子做的这么好吃?里面加了什么说出来你可能不信...
- hmailserver mysql密码_第二步:点晴MIS系统Email模块hMailServer数据库连接配置指引
- 顺序结构,选择结构,反编译
- 解决 jsp:include 引用文件时出现乱码的问题
- 线报天下 2021 (免费补丁) 原创工具
- 进入市场之前该读哪些书?——来自知乎用户刘鹏程Sai.L的答案
- matlab-计算个人所得税
- pandorabox php7,飞鱼星G7免拆刷入pandorabox
- 《金蝶ERP-K/3完全使用详解》——6.2 产品预测单
- 推荐一个GitHub上牛b的Java学习项目,已整理成了文档版本
- VDA6.5认证辅导,VDA6.5是VDA6中的第五部分用产品质量来确认质量能力
- surface usb启动_Surface Book 2开发人员印象和USB-C的魔力
- Intel(R) Xeon(R) CPU E5-2678 v3
- html游戏让目标人物移动,用仿ActionScript的语法来编写html5——第三篇,鼠标事件与游戏人物移动...
- hadoop3.0 启动后输入 jps没有进程
- jda 沃尔玛_如何通过沃尔玛应用程序的“储蓄守望者”省钱