Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196362
  • 博文数量: 87
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 840
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-18 21:12
文章分类

全部博文(87)

文章存档

2014年(86)

我的朋友

分类: Mysql/postgreSQL

2014-05-08 15:05:53

01
#!/bin/sh
02
#filename:mysql_monitor.sh
03
#site:
04
#检测mysql server是否正常提供服务
05
mysqladmin -u sky -ppwd -h localhost ping
06
 
07
#获取mysql当前的几个状态值
08
mysqladmin -u sky -ppwd -h localhost status
09
 
10
#获取数据库当前的连接信息
11
mysqladmin -u sky -ppwd -h localhost processlist
12
 
13
#获取当前数据库的连接数
14
mysql -u root -p123456 -BNe "select host,count(host) from processlist group by host;" information_schema
15
 
16
#显示mysql的uptime
17
mysql -e"SHOW STATUS LIKE '%uptime%'"|awk '/ptime/{ calc = $NF / 3600;print $(NF-1), calc"Hour" }'
18
 
19
#查看数据库的大小
20
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;'
21
 
22
#查看某个表的列信息
23
mysql -u --password= -e "SHOW COLUMNS FROM " | awk '{print $1}' | tr "\n" "," | sed 's/,$//g'
24
 
25
#执行mysql脚本
26
mysql -u user-name -p password < script.sql
27
 
28
#mysql dump数据导出
29
mysqldump -uroot -T/tmp/mysqldump test test_outfile --fields-enclosed-by=\" --fields-terminated-by=,
30
 
31
#mysql数据导入
32
mysqlimport --user=name --password=pwd test --fields-enclosed-by=\" --fields-terminated-by=, /tmp/test_outfile.txt
33
LOAD DATA INFILE '/tmp/test_outfile.txt' INTO TABLE test_outfile FIELDS TERMINATED BY '"' ENCLOSED BY ',';
34
 
35
 
36
#mysql进程监控
37
ps -ef | grep "mysqld_safe" | grep -v "grep"
38
ps -ef | grep "mysqld" | grep -v "mysqld_safe"| grep -v "grep"
39
 
40
#查看当前数据库的状态
41
mysql -u root -p123456 -e 'show status'
42
 
43
#mysqlcheck 工具程序可以检查(check),修 复( repair),分 析( analyze)和优化(optimize)MySQL Server 中的表
44
mysqlcheck -u root -p123456 --all-databases
45
 
46
#mysql qps查询  QPS = Questions(or Queries) / Seconds
47
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Questions"'
48
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Queries"'
49
#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%
50
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Key%"'
51
 
52
#mysql Innodb Buffer 命中率  innodb_buffer_read_hits=(1-Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100%
53
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_buffer_pool_read%"'
54
 
55
#mysql Query Cache 命中率 Query_cache_hits= (Qcache_hits / (Qcache_hits + Qcache_inserts)) * 100%
56
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Qcache%"'
57
 
58
#mysql Table Cache 状态量
59
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Open%"'
60
 
61
#mysql Thread Cache 命中率  Thread_cache_hits = (1 - Threads_created / Connections) * 100%  正常来说,Thread Cache 命中率要在 90% 以上才算比较合理。
62
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Thread%"'
63
#
64
 
65
#mysql 锁定状态:锁定状态包括表锁和行锁两种,我们可以通过系统状态变量获得锁定总次数,锁定造成其他线程等待的次数,以及锁定等待时间信息
66
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "%lock%"'
67
 
68
#mysql 复制延时量 在slave节点执行
69
mysql -u root -p123456 -e 'SHOW SLAVE STATUS'
70
 
71
#mysql Tmp table 状况 Tmp Table 的状况主要是用于监控 MySQL 使用临时表的量是否过多,是否有临时表过大而不得不从内存中换出到磁盘文件上
72
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Created_tmp%"'
73
 
74
#mysql Binlog Cache 使用状况:Binlog Cache 用于存放还未写入磁盘的 Binlog 信 息 。
75
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Binlog_cache%"'
76
 
77
#mysql nnodb_log_waits 量:Innodb_log_waits 状态变量直接反应出 Innodb Log Buffer 空间不足造成等待的次数
78
mysql -u root -p123456 -e 'SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_log_waits'
阅读(743) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~