zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

mysql常用监控脚本命令整理

mysql监控命令 常用 脚本 整理
2023-06-13 09:15:00 时间
#/bin/sh

#检测mysqlserver是否正常提供服务
mysqladmin-usky-ppwd-hlocalhostping

#获取mysql当前的几个状态值
mysqladmin-usky-ppwd-hlocalhoststatus

#获取数据库当前的连接信息
mysqladmin-usky-ppwd-hlocalhostprocesslist

#获取当前数据库的连接数
mysql-uroot-p123456-BNe"selecthost,count(host)fromprocesslistgroupbyhost;"information_schema

#显示mysql的uptime
mysql-e"SHOWSTATUSLIKE"%uptime%""|awk"/ptime/{calc=$NF/3600;print$(NF-1),calc"Hour"}"

#查看数据库的大小
mysql-uroot-p123456-e"selecttable_schema,round(sum(data_length+index_length)/1024/1024,4)frominformation_schema.tablesgroupbytable_schema;"

#查看某个表的列信息
mysql-u<user>--password=<password>-e"SHOWCOLUMNSFROM<table>"<database>|awk"{print$1}"|tr"\n"","|sed"s/,$//g"

#执行mysql脚本
mysql-uuser-name-ppassword<script.sql

#mysqldump数据导出
mysqldump-uroot-T/tmp/mysqldumptesttest_outfile--fields-enclosed-by=\"--fields-terminated-by=,

#mysql数据导入
mysqlimport--user=name--password=pwdtest--fields-enclosed-by=\"--fields-terminated-by=,/tmp/test_outfile.txt
LOADDATAINFILE"/tmp/test_outfile.txt"INTOTABLEtest_outfileFIELDSTERMINATEDBY"""ENCLOSEDBY",";

#mysql进程监控
ps-ef|grep"mysqld_safe"|grep-v"grep"
ps-ef|grep"mysqld"|grep-v"mysqld_safe"|grep-v"grep"


#查看当前数据库的状态
mysql-uroot-p123456-e"showstatus"


#mysqlcheck工具程序可以检查(check),修复(repair),分析(analyze)和优化(optimize)MySQLServer中的表
mysqlcheck-uroot-p123456--all-databases

#mysqlqps查询 QPS=Questions(orQueries)/Seconds
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Questions""
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Queries""

#mysqlKeyBuffer命中率 key_buffer_read_hits=(1-Key_reads/Key_read_requests)*100% key_buffer_write_hits=(1-Key_writes/Key_write_requests)*100%
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Key%""

#mysqlInnodbBuffer命中率 innodb_buffer_read_hits=(1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests)*100%
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Innodb_buffer_pool_read%""

#mysqlQueryCache命中率Query_cache_hits=(Qcache_hits/(Qcache_hits+Qcache_inserts))*100%
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Qcache%""

#mysqlTableCache状态量
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Open%""

#mysqlThreadCache命中率 Thread_cache_hits=(1-Threads_created/Connections)*100% 正常来说,ThreadCache命中率要在90%以上才算比较合理。
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Thread%""

#mysql锁定状态:锁定状态包括表锁和行锁两种,我们可以通过系统状态变量获得锁定总次数,锁定造成其他线程等待的次数,以及锁定等待时间信息
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"%lock%""

#mysql复制延时量在slave节点执行
mysql-uroot-p123456-e"SHOWSLAVESTATUS"

#mysqlTmptable状况TmpTable的状况主要是用于监控MySQL使用临时表的量是否过多,是否有临时表过大而不得不从内存中换出到磁盘文件上
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Created_tmp%""

#mysqlBinlogCache使用状况:BinlogCache用于存放还未写入磁盘的Binlog信息。
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Binlog_cache%""

#mysqlnnodb_log_waits量:Innodb_log_waits状态变量直接反应出InnodbLogBuffer空间不足造成等待的次数
mysql-uroot-p123456-e"SHOW/*!50000GLOBAL*/STATUSLIKE"Innodb_log_waits"


 

整理出来的常用的shell脚本会放到https://github.com/zhwj184/shell-work这,主要包括。

shell-work
shell常用分析命令和脚本
mysql监控脚本
cookielog分析脚本
线上java进程信息dump和机器信息dump脚本
cpu监控相关
dish磁盘管理