监控mysql
Mysql服务器监控
管理MySql服务器属于应用程序监控范畴。这是因为绝大多数性能参数是有MySql软件产生的,而不属于主操作系统的一部分。
如当前所提到的,应该总是先监控基础操作系统,然后监控MySql,以为MySql对主机的操作系统很敏感。
如何显示MySql性能
可以使用两种机制来管理和监控MySql服务器的运行情况。使用服务器变量来控制其运行情况,并使用服务器状态变量读取其运行情况配置和关于功能和性能的统计信息。
服务器中有很多配置变量。有些变量只能在启动时设置(启动选项)。其他的一些变量可以被设置成适用于全局级(对于所有连接有效)、会话级别(单个连接)或同时适用于全局和会话两个级别。
会话变量只是在当前连接中生效,在连接关闭是被重置。
可以使用以下命令读取服务器变量:
SHOW [GLOBAL | SESSION] VARIABLES;
可以使用以下命令更改非静态(只读)变量(可以用“,”分隔符在一条命令上同时进行多个变量的设置):
SHOW [GLOBAL | SESSION] <variable_name> = <value>;
SET [@@global. | @@session. | @@] <variable_name> = <value>;
可以使用以下命令读取状态变量。前两条命令显示所有会话或会话范围(默认情况下是会话)的变量值。第三条命令显示全局范围的变量:
SHOW STATUS;
SHOW SESSION STATUS;
SHOW GLOBAL STATUS;
性能监控
MySql的性能监控是前面命令的应用。具体而言,就是设置和读取系统变量及读取状态变量。SHOW和SET命令是仅有的两个可以用于MySql服务器的工具。
Sql命令
所有Sql的监控命令都是SHOW命令的变体。他们显示系统及其子系统的内部信息。虽然SHOW命令的形式很多,以下命令列表是在监控MySql服务器时使用最多的SQL命令:
• SHOW INDEX FROM <TABLE>
显示指定表的索引基数统计信息,在优化程序中使用它评估连接选择性(既索引列中非重复值)。这个命令有助于诊断性能低下的查询,尤其是查询是否使用了可用的索引。
• SHOW PLUGINS
显示所有已知插件的列表。它显示插件的名称和当前状态。MySql最新发布版中的存储引擎是以插件形式实现的。使用这个命令获取当前可用插件及其状态的快照。
• SHOW [FULL ] PROCESSLIST
显示系统上运行的所有线程(包括连接)。这个命令的主操作系统的进程命令类似。显示的信息包括命令执行时的连接数据、执行时间和当前状态。像操作系统命令一样,它可以诊断不良的响应(太多线程)、僵尸进程,
或者甚至诊断连接问题。当在处理低性能或未响应的线程时,使用KILL命令终止它们。默认行为是显示当前用户的进程。命令中使用FULL关键字则显示所有进程。
限定SHOW命令的输出结果
SHOW SESSION STATUS LIKE ‘%LOG%‘
与存储引擎相关的命令如下:
• SHOW ENGINE <engine_name> LOGS
显示指定存储引擎的日志信息,这些信息是由存储引擎提供的,且在优化存储引擎时是非常有用的,有些存储引擎不提供这些信息。
• SHOW ENGINE <engine_name> STATUS
显示指定存储引擎的状态信息,这些信息是存储引擎提供的。有些存储引擎比其他的存储引擎提供更多或更少的信息。例如,InnoDB 存储引擎显示很多状态变量,而NDB存储引擎只显示少许的状态变量。MyISAM存储引擎则不显示任何信息。这个命令是查看一个给定的存储引擎的统计信息的基本方法,且它在优化某些存储引擎时非常重要。
• SHOW ENGINES
显示MySql发行版的所有可用存储引擎的列表及其状态(入存储引擎是否可用)。这个命令有助于决定在数据上使用何种存储引擎,并有助于决定复制过程中是否在Master和Slave上存在相同的存储引擎。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。