欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql常用监控脚本命令整理

程序员文章站 2024-02-20 08:57:22
#/bin/sh #检测mysql server是否正常提供服务 mysqladmin -u sky -ppwd -h localhost ping...
#/bin/sh 

#检测mysql server是否正常提供服务 
mysqladmin -u sky -ppwd -h localhost ping 

#获取mysql当前的几个状态值 
mysqladmin -u sky -ppwd -h localhost status 

#获取数据库当前的连接信息 
mysqladmin -u sky -ppwd -h localhost processlist 

#获取当前数据库的连接数 
mysql -u root -p123456 -bne "select host,count(host) from processlist group by host;" information_schema 

#显示mysql的uptime 
mysql -e"show status like '%uptime%'"|awk '/ptime/{ calc = $nf / 3600;print $(nf-1), calc"hour" }' 

#查看数据库的大小 
mysql -u root -p123456-e 'select table_schema,round(sum(data_length+index_length)/1024/1024,4) from information_schema.tables group by table_schema;' 

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

#执行mysql脚本 
mysql -u user-name -p password < script.sql 

#mysql dump数据导出 
mysqldump -uroot -t/tmp/mysqldump test test_outfile --fields-enclosed-by=\" --fields-terminated-by=, 

#mysql数据导入 
mysqlimport --user=name --password=pwd test --fields-enclosed-by=\" --fields-terminated-by=, /tmp/test_outfile.txt 
load data infile '/tmp/test_outfile.txt' into table test_outfile fields terminated by '"' enclosed by ','; 

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


#查看当前数据库的状态 
mysql -u root -p123456 -e 'show status' 


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

#mysql qps查询  qps = questions(or queries) / seconds 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "questions"' 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "queries"' 

#mysql key buffer 命中率  key_buffer_read_hits = (1 - key_reads / key_read_requests) * 100%  key_buffer_write_hits= (1 - key_writes / key_write_requests) * 100% 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "key%"' 

#mysql innodb buffer 命中率  innodb_buffer_read_hits=(1-innodb_buffer_pool_reads/innodb_buffer_pool_read_requests) * 100% 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "innodb_buffer_pool_read%"' 

#mysql query cache 命中率 query_cache_hits= (qcache_hits / (qcache_hits + qcache_inserts)) * 100% 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "qcache%"' 

#mysql table cache 状态量 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "open%"' 

#mysql thread cache 命中率  thread_cache_hits = (1 - threads_created / connections) * 100%  正常来说,thread cache 命中率要在 90% 以上才算比较合理。 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "thread%"' 

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

#mysql 复制延时量 在slave节点执行 
mysql -u root -p123456 -e 'show slave status' 

#mysql tmp table 状况 tmp table 的状况主要是用于监控 mysql 使用临时表的量是否过多,是否有临时表过大而不得不从内存中换出到磁盘文件上 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "created_tmp%"' 

#mysql binlog cache 使用状况:binlog cache 用于存放还未写入磁盘的 binlog 信 息 。 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "binlog_cache%"' 

#mysql nnodb_log_waits 量:innodb_log_waits 状态变量直接反应出 innodb log buffer 空间不足造成等待的次数 
mysql -u root -p123456 -e 'show /*!50000 global */ status like "innodb_log_waits' 


mysql常用监控脚本命令整理 
mysql常用监控脚本命令整理

整理出来的常用的shell脚本会放到 这,主要包括。

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