一、为什么使用MySQL监控
随着软件后期的不断升级,myssql的服务器数量越来越多,软硬件故障的发生概率也越来越高。这个时候就需要一套监控系统,当主机发生异常时,此时通过监控系统发现和处理。
二、简单的监控
1、监控mysql是否提供正常的服务。
mysqladmin -uroot -proot -hlocalhost ping
如果结果输出:mysqld is alive
2、获取mysql当前的几个状态值
mysqladmin -uroot -proot -hlocalhost status
3、 获取数据库当前的连接信息
mysqladmin -uroot -proot -hlocalhost processlist
4、获取当前数据库的连接数
mysql -uroot -proot -BNe "select host,count(host) from processlist group by host;" information_schema
5、检查,修复,分析,优化MySQLServer中相关的表
mysqlcheck -uroot -proot --all-databases
6、在mysql连接客户端执行以下命令
1)用于监控 MySQL 使用临时表的量是否过多,是否有临时表过大而不得不从内存中换出到磁盘文件上
SHOW STATUS LIKE 'Created_tmp%';
2)锁定状态:锁定状态包括表锁和行锁两种,我们可以通过系统状态变量获得锁定总次数,锁定造成其他线程等待的次数,以及锁定等待时间信息
show status like '%lock%';
3)Innodb_log_waits 状态变量直接反应出 Innodb Log Buffer 空间不足造成等待的次数
SHOW STATUS LIKE 'Innodb_log_waits';