Chinaunix首页 | 论坛 | 博客
  • 博客访问: 120649
  • 博文数量: 91
  • 博客积分: 167
  • 博客等级: 入伍新兵
  • 技术积分: 530
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-22 17:26
文章分类

全部博文(91)

文章存档

2012年(91)

分类:

2012-10-30 13:26:13

原文地址:MySQL 服务器的状态 作者:hairui8991

1.系统变量:指代服务器配置变量
mysql> show variables;

2.状态变量:指代从show status读来的值
mysql> show status;
$ mysqladmin extended-status

查看这些变量的最好办法是在时长为几分钟的时间段里看他们改变了多少。可以使用innotop或
mysqladmin -uroot -psrv@mysql.com extended-status -r -i 5
来做这个。

2.1 线程和连接的统计信息
 Connections,Max_used_connections,Threads_connected
 Aborted_clients,Aborted_connects
 Bytes_received,Bytes_sent
 Slow_launch_threads,Threads_cached,Threads_created,Threads_running
 
2.2 二进制日志的状态
Binlog_cache_use 和 Binlog_cache_disk_use状态变量可以显示当前二进制日志缓存里保存了多少个事务,有多少个事务因为过于庞大而无法放入缓存,只能把它们
的语句存储在一个临时文件里。

2.3 命令计数器
Com_*变量记录了已经发出的每一种SQL或者C API命令的数目。

2.4 临时文件和表
可以查看那些记录了MySQL创建临时表和文件次数的变量:
mysql> SHOW GLOBAL STATUS LIKE 'Created_tmp%';

2.5 Handler 操作
Handler API 是MySQL 与存储引擎之间的接口。Handler_*变量记录了Handler的操作次数。
mysql> SHOW GLOBAL STATUS LIKE 'Handler_%';

2.6 MyISAM 索引键缓冲区
Key_*变量包含了MyISAM索引键缓冲区的度量值和计数器。
mysql> SHOW GLOBAL STATUS LIKE 'Key_%';

2.7 文件描述
如果你使用的主要是 MyISAM存储引擎,那查看文件描述符的统计信息就显得尤为重要,因为它们能告诉你MySQL 打开每一张变的.frm,.MYI和.MYD文件的频度分别十多。
InnoDB把所有数据都存放在它的表空间文件里,因此,如果你主要使用的是InnoDB,这些变量就不怎么重要了。
mysql> SHOW GLOBAL STATUS LIKE 'Open_%';

2.8 查询缓存
可以通过Qcache_*状态变量来检查查询缓存。出于性能起见,你的查询都依赖于查询缓存。
mysql> SHOW GLOBAL STATUS LIKE 'Qcache_%';

2.9 各种类的SELECT
Select_*变量记录了各类型SELECT查询的次数。
mysql> SHOW GLOBAL STATUS LIKE 'Select_%';
Select_range
Select_scan
select_full_range_join
select_range_check
select_full_join

2.10 排序
mysql> SHOW GLOBAL STATUS LIKE 'Sort_%';

2.11 表锁定
Table_locks_immediate 和 Table_locks_waited变量会告诉你这个时刻有多少个锁立即被授予,又有多少个需要等待。
mysql> show global status like 'Table_locks_%';

2.12 Secure Sockets Layer(SSL)
Ssl_*变量显示了服务器是如何配置SSL的。
mysql> show global status like 'Ssl_%';

2.13 InnoDB特有的变量
Innodb_*变量显示的是包含在show innodb status里的一些数据。

2.14 Plug-in特有的变量

2.15 其他
Delayed_*, Not_flushed_delayed_rows,这些变量是INSERT DELAYED 查询的计数器和度量值。
Last_query_cost
Ndb_*
Slave_*
Tc_log_*
Uptime
要想了解总体工作负荷的最好途径是比较一组相关的状态变量:例如查看所有Select_*变量,或者查看Handler_*变量
$ mysqladmin -uroot -psrv@mysql.com extended-status -r -i 5|grep Select_
$ mysqladmin -uroot -psrv@mysql.com extended-status -r -i 5|grep Handler_
或者使用innotop的Command Summary模式

3. SHOW ENGINE INNODB STATUS
3.1 头部信息
3.2 SEMAPHORE
3.3 LATEST FOREIGN KEY ERROR
3.4 LATEST DETECTED DEADLOCK
3.5 TRANSACTION
3.6 FILE I/O
3.7 INSERT BUFFER AND ADAPTIVE HASH INDEX
3.8 LOG
3.9 BUFFER POOL AND MEMORY
3.10 ROW OPERATIONS

4.SHOW PROCESSLIST
mysql>     SHOW FULL PROCESSLIST \G;
加上FULL关键字 会显示每一条查询的全部文本。

5.show mutex status
mysql> show mutex status;

6.复制的状态
查看主服务器的复制状态:
mysql> show master status \G;

二进制日志的清单:
mysql> show binary logs;

二进制日志里的事件:
mysql> show binlog events;

查看从服务器的复制状态和配置信息:
mysql> show slave status \G;

7.INFORMATION_SCHEMA
该数据库里是一套按SQL标准定义的系统视图。
阅读(326) | 评论(0) | 转发(0) |
0

上一篇:MySQL 安全

下一篇:用于高性能MySQL的工具

给主人留下些什么吧!~~