#/bin/sh
}E'0vf/ +iVEA(0&$
#检测mysql server是否正常提供服务
h>N}M}8 mysqladmin -u sky -ppwd -h localhost ping
__=H"UhWv o[|[xuTm #获取mysql当前的几个状态值
5xQ-f mysqladmin -u sky -ppwd -h localhost status
SQKhht`M k6G
_c;V #获取数据库当前的连接信息
!l:GrT8J mysqladmin -u sky -ppwd -h localhost processlist
,_[x|8m A1WUK=P #获取当前数据库的连接数
$TQhr#C] mysql -u root -p123456 -BNe "select host,count(host) from processlist group by host;" information_schema
?jx]%n fV F:{*4b #显示mysql的uptime
5!-TLwl`j\ mysql -e"SHOW STATUS LIKE '%uptime%'"|awk '/ptime/{ calc = $NF / 3600;print $(NF-1), calc"Hour" }'
n3^(y"q R4?>C-; #查看数据库的大小
sZ;|NAx) 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;'
mxc)Wm<4 j\>LJai" #查看某个表的列信息
@AyteHK
mysql -u <user> --password=<password> -e "SHOW COLUMNS FROM <table>" <database> | awk '{print $1}' | tr "\n" "," | sed 's/,$//g'
YQVo7"`% ?gH[la #执行mysql脚本
"wUIsuG/p mysql -u user-name -p password < script.sql
rb*|0ST -,bFGTvYQ #mysql dump数据导出
1.hWgW DP mysqldump -uroot -T/tmp/mysqldump test test_outfile --fields-enclosed-by=\" --fields-terminated-by=,
,_z79tC{s `e[S Zj\ #mysql数据导入
W!Tx% mysqlimport --user=name --password=pwd test --fields-enclosed-by=\" --fields-terminated-by=, /tmp/test_outfile.txt
<-lM9}vd LOAD DATA INFILE '/tmp/test_outfile.txt' INTO TABLE test_outfile FIELDS TERMINATED BY '"' ENCLOSED BY ',';
uvys>]+ KE?t?p #mysql进程监控
6[bopin ps -ef | grep "mysqld_safe" | grep -v "grep"
.i0K-B ps -ef | grep "mysqld" | grep -v "mysqld_safe"| grep -v "grep"
K_Y-N!h ''17(% dQ:,pe7A #查看当前数据库的状态
b?wrOS mysql -u root -p123456 -e 'show status'
1{uxpYAP=
!$I~3_c iTxWXij #mysqlcheck 工具程序可以检查(check),修 复( repair),分 析( analyze)和优化(optimize)MySQL Server 中的表
[9E~=A# mysqlcheck -u root -p123456 --all-databases
$QbJT`,mr gC7!cn #mysql qps查询 QPS = Questions(or Queries) / Seconds
K)SWM3r mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Questions"'
3@Ndn mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Queries"'
zCs34=3D[ FvT&nb{ #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%
m:BzIcW<\ mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Key%"'
`$a!CJu, KpN]9d #mysql Innodb Buffer 命中率 innodb_buffer_read_hits=(1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100%
y_PA9#v7 mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_buffer_pool_read%"'
!Uiq3s`1T qI'pjTMDY #mysql Query Cache 命中率 Query_cache_hits= (Qcache_hits / (Qcache_hits + Qcache_inserts)) * 100%
bPsvoG mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Qcache%"'
4Kqo>|C WZa6*pF #mysql Table Cache 状态量
s|IBX0^@ mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Open%"'
|v+z*}fKw 9nY`rF8@ #mysql Thread Cache 命中率 Thread_cache_hits = (1 - Threads_created / Connections) * 100% 正常来说,Thread Cache 命中率要在 90% 以上才算比较合理。
@9^OHRZX mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Thread%"'
!7t&d =r]l"T #mysql 锁定状态:锁定状态包括表锁和行锁两种,我们可以通过系统状态变量获得锁定总次数,锁定造成其他线程等待的次数,以及锁定等待时间信息
81nD:]7 mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "%lock%"'
(wj:Gc y\v#qFVOZ #mysql 复制延时量 在slave节点执行
izSX mysql -u root -p123456 -e 'SHOW SLAVE STATUS'
#91^1jyMf b5MBzFw #mysql Tmp table 状况 Tmp Table 的状况主要是用于监控 MySQL 使用临时表的量是否过多,是否有临时表过大而不得不从内存中换出到磁盘文件上
h6k" D4o\ mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Created_tmp%"'
20I`F>-* gWgp:;Me #mysql Binlog Cache 使用状况:Binlog Cache 用于存放还未写入磁盘的 Binlog 信 息 。
%NQ
mV_1 mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Binlog_cache%"'
h: yJ `h'+4 #mysql nnodb_log_waits 量:Innodb_log_waits 状态变量直接反应出 Innodb Log Buffer 空间不足造成等待的次数
OUWK mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_log_waits'
)bM,>x ZK;/~9KU 3;buC|ky M|c_P)7ym 整理出来的常用的shell脚本会放到
https://github.com/zhwj184/shell-work 这,主要包括。
ypEMx'p shell-work
#b/L~Bw[ shell常用分析命令和脚本
xc*a(v0 mysql监控脚本
Ck#e54gJX cookielog分析脚本
U;/2\Ii 线上java进程信息dump和机器信息dump脚本
?L\"qz%gP cpu监控相关#/bin/sh
f I=G>[ /-v ; #检测mysql server是否正常提供服务
fV4rVy8 mysqladmin -u sky -ppwd -h localhost ping
{@CQ
( +YZo-tE #获取mysql当前的几个状态值
!`%j#bv mysqladmin -u sky -ppwd -h localhost status
5IUdA? Eu' ;f_s #获取数据库当前的连接信息
wxqX42v mysqladmin -u sky -ppwd -h localhost processlist
h&K$(}X _%R^8FjH* #获取当前数据库的连接数
..5~x~O mysql -u root -p123456 -BNe "select host,count(host) from processlist group by host;" information_schema
KO=$Hr?f; x)=l4A\ #显示mysql的uptime
.iy>N/u mysql -e"SHOW STATUS LIKE '%uptime%'"|awk '/ptime/{ calc = $NF / 3600;print $(NF-1), calc"Hour" }'
gdeM,A| keLeD1 #查看数据库的大小
Bk\Y v0 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;'
_!1LV[x!s -9FGFBm4] #查看某个表的列信息
g
ptf*^s mysql -u <user> --password=<password> -e "SHOW COLUMNS FROM <table>" <database> | awk '{print $1}' | tr "\n" "," | sed 's/,$//g'
SI~jM:S} B?i#m^S #执行mysql脚本
A0Nx? mysql -u user-name -p password < script.sql
BL 1KM2] iV/I909*'' #mysql dump数据导出
"6\5eFN; mysqldump -uroot -T/tmp/mysqldump test test_outfile --fields-enclosed-by=\" --fields-terminated-by=,
.f J8 k5E2{&wZ #mysql数据导入
7ivo Q mysqlimport --user=name --password=pwd test --fields-enclosed-by=\" --fields-terminated-by=, /tmp/test_outfile.txt
W"Y)a|rG% LOAD DATA INFILE '/tmp/test_outfile.txt' INTO TABLE test_outfile FIELDS TERMINATED BY '"' ENCLOSED BY ',';
A]!0Z:{h% ,Tr&`2w #mysql进程监控
QUW`Yc ps -ef | grep "mysqld_safe" | grep -v "grep"
N_K9H1r ps -ef | grep "mysqld" | grep -v "mysqld_safe"| grep -v "grep"
I}bu r%f Q$q> C33Jzn's #查看当前数据库的状态
(|<S%?}J mysql -u root -p123456 -e 'show status'
Oq~{HJ{ [@lK[7 u T;(,9>Qsu #mysqlcheck 工具程序可以检查(check),修 复( repair),分 析( analyze)和优化(optimize)MySQL Server 中的表
[<@T%yq mysqlcheck -u root -p123456 --all-databases
U\lbh;9G .)[E`a #mysql qps查询 QPS = Questions(or Queries) / Seconds
)!27=R/ mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Questions"'
?\,;KNQr mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Queries"'
uuEvH<1 =F_uK7W #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%
k*;U?C! mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Key%"'
M
_<
|n -Ct+W;2 #mysql Innodb Buffer 命中率 innodb_buffer_read_hits=(1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100%
e=VSO!(rY mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_buffer_pool_read%"'
Q.$8>) X'$H'[8;C #mysql Query Cache 命中率 Query_cache_hits= (Qcache_hits / (Qcache_hits + Qcache_inserts)) * 100%
;g?PK5rB( mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Qcache%"'
P
s>Y] gH(#<f@ZI #mysql Table Cache 状态量
+ZjDTTk mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Open%"'
T4:H: GjwH C{ #mysql Thread Cache 命中率 Thread_cache_hits = (1 - Threads_created / Connections) * 100% 正常来说,Thread Cache 命中率要在 90% 以上才算比较合理。
;v]C8 }L^ mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Thread%"'
0@?m"|G 8OOAPp$%| #mysql 锁定状态:锁定状态包括表锁和行锁两种,我们可以通过系统状态变量获得锁定总次数,锁定造成其他线程等待的次数,以及锁定等待时间信息
vWmt<E|e mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "%lock%"'
02EX_tt), S}Wj.l+F #mysql 复制延时量 在slave节点执行
k+[oYd mysql -u root -p123456 -e 'SHOW SLAVE STATUS'
+vJ}'uR3P 56YqYu. #mysql Tmp table 状况 Tmp Table 的状况主要是用于监控 MySQL 使用临时表的量是否过多,是否有临时表过大而不得不从内存中换出到磁盘文件上
ABoB=0.l mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Created_tmp%"'
fCu;n%
~h<T0Zc #mysql Binlog Cache 使用状况:Binlog Cache 用于存放还未写入磁盘的 Binlog 信 息 。
;C =d(
pY mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Binlog_cache%"'
N:64Gko"K jHT^I
as #mysql nnodb_log_waits 量:Innodb_log_waits 状态变量直接反应出 Innodb Log Buffer 空间不足造成等待的次数
r-S%gG}~E mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_log_waits'
g3'dkS! DJdhOLx ;xh.95BP` ]7,0> 整理出来的常用的shell脚本会放到
https://github.com/zhwj184/shell-work 这,主要包括。
|2TH[J_a shell-work
j-aTpN shell常用分析命令和脚本
Q+a&a]*KL^ mysql监控脚本
3LQu+EsS cookielog分析脚本
[KGj70|~ 线上java进程信息dump和机器信息dump脚本
mV}8s]29 cpu监控相关
=<(6yu_ dish 磁盘管理
m bhh oKkDG|IE phpstudy打包下载地址
Iza#v0 dish 磁盘管理
6R3/"&P(/# 1'&HmBfcb phpstudy打包下载地址