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上存在相同的存储引擎。

与MySql复制相关的具体命令如下所示:

SHOW BINLOG EVENTS [IN <'log_file'>] [FROM <pos>] [LIMIT [<OFFSET>,]<ROW COUNT>]

show binlog events in 'mysql-bin.000009' from 4 limit 0 ,12 ; 查看mysql-bin.000009'二进制文件 从第4个位置开始 查看12行事件。

SHOW BINARY LOGS

  显示服务器上的二进制列表。使用这个命令获取过去和当前的binlog文件名的相关信息。每个文件的大小也被显示出来了。他是诊断复制问题的另一个有用的命令,因为它将允许你在指定的文件上使用SHOW BINLOG EVENTS命令

,从而减少在诊断问题是必须查看的数据量。SHOW MASTER LOGS是它的同义词.

SHOW RELAYLOG EVENTS [IN <'log_file'>] [FROM <pos>] [LIMIT [<OFFSET>,]<ROW COUNT>]

mysql> show relaylog events in 'slave-relay-bin.000038' from 4 limit 0 ,12 ;

SHOW MASTER STATUS

  显示Master的当前配置。它显示当前二进制日志文件、文件的当前位置和所有的排他性或包容性复制的设置。当连接或重新连接Slave时使用这个命令.

SHOW SLAVE STATUS

  使用-- report-host 选项显示连接到Master的Slave列表,根据这个列表可以确定哪些Slave链接到Master上。

 

监控mysql的更多相关文章

  1. 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL

    前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...

  2. Zabbix监控mysql performance

    介绍 zabbix监控mysql性能,使用zabbix自带的mysql监控模板,可以监控以下内容OPS(增删改查).mysql慢查询数量.mysql请求\响应流量带宽 配置 新建mysql监控用户 G ...

  3. 监控mysql各种选项

    安装mysql之后,需要对mysql服务进行监控.   nagios开源自带的check_mysql 对 mysql 的slave 机监控倒是不错.但是对数据库主机监控就略显不足了.   使用一个监控 ...

  4. zabbix通过第三方插件percona监控mysql数据库

     zabbix通过第三方插件percona监控mysql数据库                                                                     ...

  5. zabbix利用自带的模板监控mysql数据库

    zabbix利用自带的模板监控mysql数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 有些东西你不会的时候觉得它特别难,但是当你去做的时候就发现如此的简单~zabbix功能 ...

  6. 详解 Spotlight on MySQL监控MySQL服务器

    前一章详解了Spotlight on Unix 监控Linux服务器 ,今天再来看看Spotlight on MySQL怎么监控MySQL服务器. 注:http://www.cnblogs.com/J ...

  7. cacti监控mysql

    cacti监控mysql 2013-09-25 16:21:43 分类: LINUX 原文地址:cacti监控mysql 作者:baochenggood cacti监控mysql 1 下载cacti监 ...

  8. zabbix 监控MySQL

    现在我来说一下我的监控环境 zabbix-3.0.3 MySQL-5.6.23 1.首先我们要登录MySQL,创建一个监控MySQL的用户 GRANT USAGE,PROCESS,SUPER,REPL ...

  9. shell脚本监控MySQL服务是否正常

    监控MySQL服务是否正常,通常的思路为:检查3306端口是否启动,ps查看mysqld进程是否启动,命令行登录mysql执行语句返回结果,php或jsp程序检测(需要开发人员开发程序)等等: 方法1 ...

  10. Zabbix通过percona监控MySQL

    因为Zabbix自带的MySQL监控没有提供可以直接使用的Key,所以一般不采用,业界的同学们都使用Percona Monitoring Plugins 监控 MySQL的方式 Percona介绍 P ...

随机推荐

  1. 阿森纳vs托特纳姆热刺

    阿森纳vs托特纳姆热刺之间进行的英格兰足球联盟杯比赛时间为2018年12月20日 03:45.本场比赛的亚盘初盘为阿森纳0.0,大小球初盘3.0,角球盘口10.5.在此之前,阿森纳和托特纳姆热刺两队进 ...

  2. mysql数据表增删改查

    http://www.runoob.com/mysql/mysql-tutorial.html 一.MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以 ...

  3. mysql数据库 ,java 代码巧妙结合提升系统性能。

       查询频繁的表t_yh_transport_task 保证数据量最少,增加查询效率, 常用于查询的字段增加索引, 每日定时移动数据 <!-- 医院系统预约任务历史删除定时器 --> & ...

  4. summary of week

    Summary of week Catalog 计算机基础 解释器 编码 数据类型 输入 输出 变量 注释 运算符 条件判断 循环 Content 计算机基础 计算机组成 软件 解释器 操作系统 : ...

  5. 微信小程序中的AJAX——POST,GET区别

    注意:发送服务器时的DATA 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String .转换规则如下: 对于 GET 方法的数据,会将数 ...

  6. Android Gradle Task

    Tasks runnable from root project ------------------------------------------------------------ Androi ...

  7. layui table分页 page为false时,limit问题

    问题描述:table数据表格page设为false时,limit为默认设置10 解决办法:limit设为 Number.MAX_VALUE 加载全部数据 实例: var table = layui.t ...

  8. MVC是什么

    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码 ...

  9. ReactNative问题随记1 Exception in thread "main" java.lang.RuntimeException: gradle-2.14.1-all.zip

    ReactNative问题随记 想运行在真机上,在运行命令react-native run-android遇到错误如下: Scanning 559 folders for symlinks in D: ...

  10. [SQL]LeetCode177. 第N高的薪水 | Nth Highest Salary

    Write a SQL query to get the nth highest salary from the Employee table. +----+--------+ | Id | Sala ...