5.2.18. show查看相关命令¶
Show命令:
我们可以通过show命令查看MySQL状态及变量,找到系统的瓶颈: Mysql> show status ——显示状态信息(扩展show status like ‘XXX’) Mysql> show variables ——显示系统变量(扩展show variables like ‘XXX’) show session variables; show global variables; select @@global.var_name; show global variables like "%var%"; set session var_name = value; set @@session.var_name = value; set var_name = value; 查看一个会话变量也有如下三种方式: select @@var_name; select @@session.var_name; show session variables like "%var%"; set global var_name = value; //注意:此处的global不能省略。根据手册,set命令设置变量时若不指定GLOBAL、SESSION或者LOCAL,默认使用SESSION set @@global.var_name = value; //同上 Mysql> show processlist ——查看当前SQL执行,包括执行状态、是否锁表等 Shell> mysqladmin variables -u username -p password——显示系统变量 Shell> mysqladmin extended-status -u username -p password——显示状态信息
Mysql> show engine innodb status ——显示InnoDB存储引擎的状态:
INNODB MONITOR OUTPUT
1.BACKGROUND THREAD
2.SEMAPHORES
主要显示系统的当前的信号等待信息及各种等待信号的统计信息,这部分对调整innodb_thread_concurrency参数有非常大的帮助。当等待信号量非常大的时候,可能就需要禁用并发线程检测设置innodb_thread_concurrency=0;
3.LATEST DETECTED DEADLOCK
主要展示系统的锁等待信息和当前活动事务信息,通过这部分,可以追踪到死锁的详细信息。
3.1TRANSACTIONS
3.2WAITING FOR THIS LOCK TO BE GRANTED
4.FILE I/O
文件I/O相关信息,主要是IO等待信息。
5.INSERT BUFFER AND ADAPTIVE HASH INDEX
显示插入缓存当前状态信息及自适应hash index的状态
6.LOG
Innodb 事务日志相关信息,包括当前的日志序列号(Log sequence number),已经刷新同步到那个序列号,最近的check point到那个序列号了。除此之外,还显示了系统从启动到现在已经做了多少次check point,多少次日志刷新
7.BUFFER POOL AND MEMORY
主要显示innodbbuffer pool相关的各种统计信息,以及其他一些内存使用情况。
8.ROWOPERATIONS
主要显示的是与客户端的请求query和query所影响的记录统计信息
查看状态变量及帮助:
Shell> mysqld –verbose –help [|more #逐行显示]
比较全的Show命令的使用可参考: http://blog.phpbean.com/a.cn/18/