mysql常用监控脚本命令整理

 更新时间:2013年06月03日 16:05:20   投稿:whsnow  
mysql监控脚本常用命令整理,感兴趣的朋友可以了解下哈
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

#/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查询 &nbsp;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 命中率 &nbsp;key_buffer_read_hits = (1 - Key_reads / Key_read_requests) * 100% &nbsp;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 命中率 &nbsp;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 命中率 &nbsp;Thread_cache_hits = (1 - Threads_created / Connections) * 100% &nbsp;正常来说,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' 


 

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

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

程序员之家打包下载地址

相关文章

  • Mysql闪退问题图文解决办法

    Mysql闪退问题图文解决办法

    之前在使用MySQL 5.5 Command Line Client时,无论输入什么密码,都出现闪退的情况,纠结了半天才找到原因,下面小编给大家分享我的解决方法,感兴趣的朋友一起看看吧
    2016-11-11
  • MySQL?数据库中数据表超详细的基本操作

    MySQL?数据库中数据表超详细的基本操作

    这篇文章主要介绍了MySQL?数据库中数据表的基本操作,下面文章会从创建表的基本语法伊利举例说明概括全篇数据表的基本操作详情,需要的小伙伴可以参考一下文章的具体内容,希望对你有所帮助
    2021-12-12
  • Windows10下mysql 5.7.17 安装配置方法图文教程

    Windows10下mysql 5.7.17 安装配置方法图文教程

    这篇文章主要为大家详细介绍了Windows10下mysql5.7.17安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Mysql的max_allowed_packet设定

    Mysql的max_allowed_packet设定

    今天小编就为大家分享一篇关于Mysql的max_allowed_packet设定,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • MySQL一个索引最多有多少个列?真实的测试例子

    MySQL一个索引最多有多少个列?真实的测试例子

    MySQL一个索引最多有多少个列?下面是具体的实现代码。
    2009-07-07
  • MySql数据库单表查询与多表连接查询效率对比

    MySql数据库单表查询与多表连接查询效率对比

    在遇到数据之间的联系很复杂,建表就很纠结,到底该怎么去处理这些复杂的数据呢,是单表查询,然后在业务层去处理数据间的关系,还是直接通过多表连接查询来处理数据关系呢
    2021-09-09
  • 如何捕获和记录SQL Server中发生的死锁

    如何捕获和记录SQL Server中发生的死锁

    本篇文章是对如何捕获和记录SQL Server中发生的死锁进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MySql无法连接本地地址localhost问题

    MySql无法连接本地地址localhost问题

    这篇文章主要介绍了MySql无法连接本地地址localhost问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Centos 6.4源码安装mysql-5.6.28.tar.gz教程

    Centos 6.4源码安装mysql-5.6.28.tar.gz教程

    这篇文章主要为大家详细介绍了Centos 6.4源码安装mysql-5.6.28.tar.gz教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • MySQL curdate()函数的实例详解

    MySQL curdate()函数的实例详解

    这篇文章主要介绍了MySQL curdate()函数的实例详解的相关资料,希望通过本文能帮助到大家理解应用MysqL curdate()的使用方法,需要的朋友可以参考下
    2017-09-09

最新评论

?


http://www.vxiaotou.com