查看Mysql集群状态

依赖sshpass命令,所以需要先安装sshpass-1.06-1.el7.x86_64.rpm

  • 授权
chmod +x check-mysql.sh
#!/bin/sh
#set -ex#日志名称
LOG_FILE=host_check_$(date "+%Y%m%d").log
#注释变量或密码留空则执行脚本时输入
SSHPASS=[password]
MYSQLPASS=[password]if [[ ! -x $(command -v sshpass 2> /dev/null) ]]; thenecho -e 'sshpass does not exist, you should install sshpass.'exit 0
fiif [[ -z ${SSHPASS} ]]; thenread -s -p 'Enter SSH password for hosts:' SSHPASSexport SSHPASSecho
elseexport SSHPASS
fiif [[ -z ${MYSQLPASS} ]]; thenread -s -p 'Enter MySQL password for hosts:' MYSQLPASSexport MYSQLPASSecho
elseexport MYSQLPASS
ficat << EOF > ~/.ssh/config
StrictHostKeyChecking no
EOFfunction format_output {COL=$(($(tput cols) - 2))IFS= read -r -d '\n' INPUTMAX_LEN=$(echo "${INPUT}" | awk '{print length($0)}' | awk 'BEGIN {max = 0} {if ($1+0 > max+0) {max=$1; content=$0} } END {print content}')if [[ ${MAX_LEN} -gt ${COL} ]]; thenMAX_LEN=${COL}fiMLINE=$(awk -v len=${MAX_LEN} 'BEGIN{OFS="─"; NF=len+1; print}')echo "┌${MLINE}┐"IFS=''echo -n "${INPUT}" | while read LINE; doif [[ -z ${LINE} ]]; thenecho "├${MLINE}┤"elseprintf "│%-${MAX_LEN}s│\n" "${LINE}"fidoneecho -e "└${MLINE}┘\n"
}function ping_host {ping -c 1 -W 1 $1 2>&1 > /dev/null || (echo -e "Host $1: Ping Failed.\n" && exit 1)
}function get_mysql_service {CT='$(cat /tmp/.mysql.socks)'for HOST_IP in $(echo $1 | tr ',' ' '); do(ping_host ${HOST_IP} && sshpass -e ssh root@${HOST_IP} 'bash -s' << EOF) | format_output | tee -a ${LOG_FILE}
export LANG=en_US.UTF-8
echo -e "MySQL Server: ${HOST_IP}\n"
echo -e "MySQL Status:"
/opt/upsql/mysql/bin/mysql -h ${HOST_IP} -P 60001 -ucup_dba -p${MYSQLPASS} -e 'show status' 2>&1 | sed -r 's/\t/   /g' | grep 'Uptime '
/opt/upsql/mysql/bin/mysql -h ${HOST_IP} -P 60001 -ucup_dba -p${MYSQLPASS} -e 'show status' 2>&1 | sed -r 's/\t/   /g' | grep 'Com_select '
/opt/upsql/mysql/bin/mysql -h ${HOST_IP} -P 60001 -ucup_dba -p${MYSQLPASS} -e 'show status' 2>&1 | sed -r 's/\t/   /g' | grep 'Com_insert '
/opt/upsql/mysql/bin/mysql -h ${HOST_IP} -P 60001 -ucup_dba -p${MYSQLPASS} -e 'show status' 2>&1 | sed -r 's/\t/   /g' | grep 'Com_update '
/opt/upsql/mysql/bin/mysql -h ${HOST_IP} -P 60001 -ucup_dba -p${MYSQLPASS} -e 'show status' 2>&1 | sed -r 's/\t/   /g' | grep 'Com_delete '
/opt/upsql/mysql/bin/mysql -h ${HOST_IP} -P 60001 -ucup_dba -p${MYSQLPASS} -e 'show status' 2>&1 | sed -r 's/\t/   /g' | grep 'Threads_connected '
echo -e "\nMySQL Database Status:"
/opt/upsql/mysql/bin/mysql -h ${HOST_IP} -P 60001 -ucup_dba -p${MYSQLPASS} -e "select table_schema as 'Database',sum(table_rows) as 'Records',sum(truncate(data_length/1024/1024, 2)) as 'Data(MB)',sum(truncate(index_length/1024/1024, 2)) as 'Index(MB)'from information_schema.tables where table_schema='cbei_isp';" 2>&1 | sed -r 's/\t/   /g' | grep -v 'password'
echo -e "\nMySQL Tables Status:"
/opt/upsql/mysql/bin/mysql -h ${HOST_IP} -P 60001 -ucup_dba -p${MYSQLPASS} -e "select table_schema as 'Database',table_name as 'Table',table_rows as 'Records', truncate(data_length/1024/1024, 2) as 'Data(MB)', truncate(index_length/1024/1024, 2) as 'Index(MB)' from information_schema.tables where table_schema='cbei_isp' order by data_length desc,index_length desc;" 2>&1 | sed 's/\t/ /g' | grep -v 'password' > /tmp/.mysql.socks
printf '%-10s %-30s %-10s %-10s %-10s\n' $CT
rm -f /tmp/.mysql.socks
EOFdone
}get_mysql_service 192.168.1.1rm -f ~/.ssh/config

查看Mysql集群状态相关推荐

  1. linux查看hbase集群状态,hbase 集群部署

    Hhase 集群部署 使用的软件 hadoop-2.7.4 hbase-1.2.6 jdk-8u144 zookeeper-3.4.10 Hbase 自带的有zookeeper,在这里使用自己部署的z ...

  2. java查看kafka集群状态_Linux系统 Kafka集群

    Kafka相关概念 Kafka的定义 它是一个分布式消息系统,由linkedin使用scala编写,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline) ...

  3. Galera(MySQL集群)的安装

    1.准备工作 准备三台主机(当前使用阿里云主机): master1 10.0.0.8 (内网ip) master2 10.0.0.9 master3 10.0.0.10 2.生成yum repo文件 ...

  4. windows下搭建mysql集群_Windows下搭建MySQL集群

    本文将讨论在Windows下搭建MySQL集群的步骤和搭建过程中应当注意的问题. 由于机器数量和性能有限,搭建环境为一台宿主机(IP:10.200.178.191),一台虚拟机(IP:10.200.1 ...

  5. mysql群集配置_CentOS7 - 建立一个MySQL集群

    Standing up a MySQL cluster 此配方将指导您完成设置MySQL群集的过程. 通过跨多个系统划分数据并维护副本以避免单点故障,群集数据库可以应对可伸缩性和高可用性的挑战. 集群 ...

  6. 查看redis集群信息

    注:ip为安装redis的那台服务器(集群中的其中一台)的ip,password为redis的密码 集群相关信息查看 1.集群状态 redis-cli -h ip -p 9379 -a passwor ...

  7. mysql 查看集群状态_MySQL数据库集群正确配置步骤

    类型:电子教程大小:8.5M语言:中文 评分:8.3 标签: 立即下载 对MySQL数据库集群进行正确配置的实际操作步骤,以及对其概念的讲述,如果你对其相关的实际操作有兴趣了解的话,以下的文章将会给你 ...

  8. mysql 数据库集群状态查看_MySQL数据库集群进行正确配置步骤

    MySQL数据库集群进行正确配置步骤 2010-06-09 10:47 arrowcat 博客园 字号: 我们今天是要和大家一起分享的是对MySQL数据库集群进行正确配置,我前两天在相关网站看见的资料 ...

  9. ES集群状态、节点、索引等查看及根据字段、排序查询

    ES集群基础: 1. 查看集群: http://172.xxx.xxx.8:9200 2. 查看状态: http://172.xxx.xxx.8:9200/_cat/health?v 3. 查看索引: ...

最新文章

  1. codevs 5963 [SDOI2017]树点染色
  2. 文本文件与二进制文件,C++流(待续)
  3. Python-day-9- RabbitMQ队列
  4. 【研发管理】中国企业 VS 世界优秀企业在产品研发上差距(上)
  5. 简述container与container-fluid的区别
  6. springboot 事务_Spring Boot中的事务是如何实现的?懂吗?
  7. orm2 中文文档 4. 定义关联
  8. leetcode题解776-旋转字符串
  9. IOS一些常用的越狱渠道
  10. js混淆还原工具_JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
  11. Kali、linux中安装软件
  12. Python学习笔记:PYQT5 文字及绘图旋转
  13. 增强感受野SPP、ASPP、RFB、PPM
  14. sklearn.datasets.base中Bunch类
  15. idea local history说明
  16. DC-DC升压芯片MP9185
  17. routeros dns_从RouterOS在FreeDNS上进行动态DNS更新
  18. python-skimage.io,filters,transform
  19. Pimple 容器使用
  20. stm32+W5500+阿里物联网平台

热门文章

  1. 1.3.ARM裸机第三部分-开发板、原理图和数据手册
  2. 股票量化交易软件_如何降低交易者的风险
  3. mysql lateral_MySQL 8.0.14的LATERAL派生表
  4. SAP adobe form step by step 视频学习教程
  5. 【超值IT精英汇】中国IT职业教育的领航者!
  6. 戴尔灵越7591添加硬盘SSD的问题
  7. 【甄选靶场】Vulnhub百个项目渗透——项目七:DerpNStink-1(sql注入,流量分析)
  8. USB | 通过PyUSB实现USB接口通信
  9. 路由器逆向分析------binwalk工具的安装
  10. ESP32-CAM带OV2640摄像头视频显示