mysql常用排查命令
1.查看服务器使用状态
mysqladmin -uroot -p -S /tmp/mysql .sock -r -i 1 ext |\ awk -F "|" \ "BEGIN{ count=0; }" \ '{ if ($2 ~ /Variable_name/ && ++count == 1){\ print "----------|---------|--- MySQL Command Status --|----- Innodb row operation ----|-- Buffer Pool Read --" ;\ print "---Time---|---QPS---|select insert update delete| read inserted updated deleted| logical physical" ;\ }\ else if ($2 ~ /Queries/ ){queries=$3;}\ else if ($2 ~ /Com_select /){com_select=$3;}\ else if ($2 ~ /Com_insert /){com_insert=$3;}\ else if ($2 ~ /Com_update /){com_update=$3;}\ else if ($2 ~ /Com_delete /){com_delete=$3;}\ else if ($2 ~ /Innodb_rows_read/ ){innodb_rows_read=$3;}\ else if ($2 ~ /Innodb_rows_deleted/ ){innodb_rows_deleted=$3;}\ else if ($2 ~ /Innodb_rows_inserted/ ){innodb_rows_inserted=$3;}\ else if ($2 ~ /Innodb_rows_updated/ ){innodb_rows_updated=$3;}\ else if ($2 ~ /Innodb_buffer_pool_read_requests/ ){innodb_lor=$3;}\ else if ($2 ~ /Innodb_buffer_pool_reads/ ){innodb_phr=$3;}\ else if ($2 ~ /Uptime / && count >= 2){\ printf ( " %s |%9d" ,strftime( "%H:%M:%S" ),queries);\ printf ( "|%6d %6d %6d %6d" ,com_select,com_insert,com_update,com_delete);\ printf ( "|%6d %8d %7d %7d" ,innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);\ printf ( "|%10d %11d\n" ,innodb_lor,innodb_phr);\ }}' |
2.处理generlog
|
3.查看无主键的表
select table_schema,table_name,TABLE_TYPE,ENGINE,ROW_FORMAT,TABLE_ROWS from information_schema.tables where (table_schema,table_name) not in ( select distinct table_schema,table_name from information_schema.columns where COLUMN_KEY= 'PRI' ) and table_schema not in ( 'sys' , 'mysql' , 'information_schema' , 'performance_schema' ); |
4.查看非innodb引擎表
select table_name,table_schema,engine from information_schema.tables where engine!= 'innodb' and table_schema not in ( 'mysql' , 'information_schema' , 'performance_schema' ); |
5.插卡行锁
select trx_tables_locked,trx_lock_structs,trx_wait_started,trx_state,trx_requested_lock_id from INNODB_TRX where trx_tables_locked != 0 or trx_wait_started is not NULL ; |
6.查看进程信息
按客户端 IP 分组,看哪个客户端的链接数最多 select client_ip, count (client_ip) as client_num from ( select substring_index(host, ':' ,1) as client_ip from processlist ) as connect_info group by client_ip order by client_num desc ; 查看正在执行的线程,并按 Time 倒排序,看看有没有执行时间特别长的线程 select * from information_schema.processlist where Command != 'Sleep' and INFO like "%select%" order by Time desc \G; 找出所有执行时间超过 5 分钟的线程,拼凑出 kill 语句,方便后面查杀 select concat( 'kill ' , id, ';' ) from information_schema.processlist where Command != 'Sleep' and Time > 300 order by Time desc ; |
7.查看innodb行锁信息
---------------查看innodb行锁信息---------------------- SELECT p2.`HOST` Blockedhost,p2.` USER ` BlockedUser, r.trx_id BlockedTrxId, r.trx_mysql_thread_id BlockedThreadId, r.trx_query BlockedQuery, l.lock_table BlockedTable, m.`lock_mode` BlockedLockMode, m.`lock_type` BlockedLockType, m.`lock_index` BlockedLockIndex, m.`lock_space` BlockedLockSpace, m.lock_page BlockedLockPage, m.lock_rec BlockedLockRec, m.lock_data BlockedLockData, p.`HOST` blocking_host, p.` USER ` blocking_user, b.trx_id BlockingTrxid, b.trx_mysql_thread_id BlockingThreadId, b.trx_query BlockingQuery, l.`lock_mode` BlockingLockMode, l.`lock_type` BlockingLockType, l.`lock_index` BlockingLockIndex, l.`lock_space` BlockingLockSpace, l.lock_page BlockingLockPage, l.lock_rec BlockingLockRec, l.lock_data BlockingLockData, FROM INNER JOIN information_schema.INNODB_LOCKS l ON w.blocking_lock_id = l.lock_id AND l.`lock_trx_id`=b.`trx_id` INNER JOIN information_schema.INNODB_LOCKS m ON m.`lock_id`=w.`requested_lock_id` AND m.`lock_trx_id`=r.`trx_id` ORDER BY WaitTime DESC \G; ----------------------对应的中文------------------------ SELECT p2.`HOST` 被阻塞方host, p2.` USER ` 被阻塞方用户, r.trx_id 被阻塞方事务id, r.trx_mysql_thread_id 被阻塞方线程号, r.trx_query 被阻塞的查询, l.lock_table 阻塞方锁住的表, m.`lock_mode` 被阻塞方的锁模式, m.`lock_type` "被阻塞方的锁类型(表锁还是行锁)" , m.`lock_index` 被阻塞方锁住的索引, m.`lock_space` 被阻塞方锁对象的space_id, m.lock_page 被阻塞方事务锁定页的数量, m.lock_rec 被阻塞方事务锁定行的数量, m.lock_data 被阻塞方事务锁定记录的主键值, p.`HOST` 阻塞方主机, p.` USER ` 阻塞方用户, b.trx_id 阻塞方事务id, b.trx_mysql_thread_id 阻塞方线程号, b.trx_query 阻塞方查询, l.`lock_mode` 阻塞方的锁模式, l.`lock_type` "阻塞方的锁类型(表锁还是行锁)" , l.`lock_index` 阻塞方锁住的索引, l.`lock_space` 阻塞方锁对象的space_id, l.lock_page 阻塞方事务锁定页的数量, l.lock_rec 阻塞方事务锁定行的数量, l.lock_data 阻塞方事务锁定记录的主键值, FROM INNER JOIN information_schema.INNODB_LOCKS l ON w.blocking_lock_id = l.lock_id AND l.`lock_trx_id`=b.`trx_id` INNER JOIN information_schema.INNODB_LOCKS m ON m.`lock_id`=w.`requested_lock_id` AND m.`lock_trx_id`=r.`trx_id` ORDER BY 等待时间 DESC \G; |
mysql常用排查命令的更多相关文章
- MYSQL常用查命令
MYSQL常用查命令 mysql> select version(); 查看MySQL的版本号 mysql> select current_date(); 查看 ...
- MySQL常用维护命令和操作
MySQL数据库安装后,除了包括MySQL服务器进程管理外,还提供了大量工具用于管理和维护MySQL服务器的其它工作.下面PHP程序员雷雪松介绍的这些命令都是在MySQL交互界面以外的命令行中执行的. ...
- mysql常用的命令大全
常用的MySQL命令大全一.连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码1.例1:连接到本机上的MYSQL.首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令 ...
- MySQL 常用基础命令
一.启动与关闭 1.1 Linux下启动mysql 的命令: a. rpm包安装:service mysqld start b. 源码包安装:/usr/local/mysql/bin/mysqld_s ...
- [基础学习]MySQL常用语句命令总结
前言 相信平时大家在开发时都会使用MySQL数据库,它是目前比较火的一款数据库工具,对于大多数企业的业务来说,MySQL可以很完美地支持了. 很多时候我们都是借助mysql可视化工具操作mysql,虽 ...
- 知识库总结mysql常用cmd命令
打开命令目录 打开D盘mysql目录 d: cd D:\Ampps\mysql\bin 常用操作 将mysql目录下bin目录中的mysql.exe放到C:\WINDOWS下,可以执行以下命令 连接: ...
- mysql常用查询命令
转引自:https://www.cnblogs.com/widows/p/7137184.html 常用mysql命令 show variables like 'character_set_clien ...
- MySQL 常用show命令
MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法. 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- Mysql常用show命令,show variables like xxx 详解,mysql运行时参数
MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法. 详细: http://dev.mysql.com/doc/ ...
随机推荐
- BZOJ1968: [Ahoi2005]COMMON 约数研究 线性筛
按照积性函数的定义筛一下这个积性函数即可. #include <cstdio> #include <algorithm> #define N 1000004 #define s ...
- 洛谷 P1341 无序字母对(欧拉路)
P1341 无序字母对 题目提供者yeszy 标签 福建省历届夏令营 难度 提高+/省选- 最新讨论 题目描述 给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒).请构造 ...
- [Note][深入理解Java虚拟机] 第三章 垃圾收集器与内存分配策略笔记
书上关于GCTimeRatio的讲解有点难以理解,查看Oracle的文档后重新理解了下 -XX:GCTimeRatio 运行时间 / GC时间 当GCTimeRatio为19时,运行时间是GC时间的1 ...
- iOS8-Sampler
https://github.com/shu223/iOS8-Sampler iOS8-Sampler Code examples for the new functions of iOS 8. Ho ...
- highcharts柱状图、饼状图
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- State Threads之编程注意事项
原文: Programming Notes 1. 移植 State Thread 库可移植到大多数类 UNIX 平台上,但是该库有几个部分需要依赖于平台特性,以下列出了这些部分: 线程上下文初始化. ...
- tp5中很牛皮的一句sql语句,三个条件(两个不确定条件,一个硬性条件)
$result = Db::table('xxxxxx') // 表名 ->alias('g') ->join('xxxxx_2 u','g.user_id = u.id') -> ...
- ubuntu下如何使得普通用户能够启动wireshark?
一. 将dumpcap的用户组更改为wireshark sudo chgrp wireshark /usr/bin/dumpcap 二. 设置其他用户也具有与root一样的权限来执行dumpcap s ...
- TcpSendRcv方法笔记1
if (ns.DataAvailable) return ns.ReadByte(); ns.DataAvailable:获取一个值,该值指示在要读取的 NetworkStream 上是否有可用的数据 ...
- Appium移动自动化测试(二)之appuim + 夜神模拟器
环境搭建起来之后, 就可以开始移动自动化了. 但是使用自带的AVD开启模拟器, 速度实在太慢. 于是用夜神来做替代, 稍微能够有一些提速. 启动appuim 打开Appium,点击右上角Start按钮 ...