MYSQL进阶学习笔记十六:MySQL 监控!(视频序号:进阶_35)
知识点十七:MySQL监控(35)
一、为什么使用MySQL监控
随着软件后期的不断升级,myssql的服务器数量越来越多,软硬件故障的发生概率也越来越高。这个时候就需要一套监控系统,当主机发生异常时,此时通过监控系统发现和处理。
这个监控实际上是在我们的开发完成之后,这个时候软件就开始在运行,这个运行我们就需要去关注到mysql服务器是否正常,那么我们要观察它就需要给它提供一些监控,这监控就是当它发生故障之后,
那么我们这个监控就会告诉我们到底什么地方发生了一些异常或者一些错误,这个时候我们就可以去处理它。
二、常见的监控方式的分类
1.自己写程序或者脚本控制
多用于数据库并不多或者这个数据库本身比较小的时候,那么我们可以采用这种方式。
步骤:
1,监控mysql是否提供正常的服务
mysqladmin -uroot -p123456 -hlocalhost ping
如果结果输出:mysqld is alive
2.获取mysql当前的几个状态值
mysqladmin -uroot -p123456 -hlocalhost status
3.获取数据库当前的连接信息
mysqladmin -uroot -p123456 -hlocalhost processlist
4.获取当前数据库的连接数
mysql -uroot -p123456 -BNe "select host,count(host) from processlist group by host;" information_schema
5.检查,修复,分析,优化MySQLServer中相关的表
mysqlcheck -u root -p123456 --all-databases
在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';
这都是我对自己学习过程的理解,如有错误请指出!我算一个小白了。