`

shell监控脚本实例—监控mysql主从复制

 
阅读更多

分享一例shell脚本,用于监测mysql数据库的主从复制,有需要的朋友不妨参考学习下。

转自:http://www.jbxue.com/article/14103.html(转载请注明出处)

本节内容:

监控mysql主从复制的shell脚本。


说明:
监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试。

代码: 

复制代码代码如下:
#监控mysql 主从复制
cat chk_mysql_rep.sh 
#!/bin/bash 

#script_name:chk_mysql_rep.sh 
#check mysql replication 

#ssh root@xen "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {print $2}' 
#Yes 
#Yes 

#variables 
ssh=/usr/bin/ssh 
sh_dir=/root/sh/ 
crondir=${sh_dir}crontab 
source ${sh_dir}CONFIG 
hosts="$DB_SLAVE_HOSTS"
#main 
#主循环遍历机器 www.jbxue.com
for HOST in $hosts;do 
log=$crondir/log/mysql_replication_error.log 
key=$($ssh root@$HOST "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {printf $2}') 
    #无法连接的主机,跳过本次循环 
    test -z "$key" && continue 
    #返回结果真 
    if [ "$key" == "YesYes" ];then 
        #flag真,解除报警 
        if [ -f "${crondir}/log/$HOST.mysql" ];then 
            #sms 
            #for mobile in $MOBILES;do 
                #echo "$HOST replication ok" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode 
            #done 
            #mail 
            for mail in $MAILS;do 
                echo "$HOST replication ok" | mail -s "$HOST replication ok" $mail 
            done 
            #flag 
            rm -f "${crondir}/log/$HOST.mysql" 
        fi 
    #返回结果假 
    else   
check_date=$(date '+ %F %T') 
        #flag假,报警 
        if [ ! -f "${crondir}/log/$HOST.mysql" ];then 
            #sms www.jbxue.com
            #for mobile in $MOBILES;do 
                #echo "$HOST replication error" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode 
            #done 
            #mail 
            for mail in $MAILS;do 
                echo "$HOST replication error" | mail -s "$HOST replication error" $mail 
            done 
            #flag 
            echo "replication error" >"${crondir}/log/$HOST.mysql" 
            #log 
            echo "$check_date $HOST mysql replicaton error" >> $log 
        fi 
    fi 

done 
分享到:
评论

相关推荐

    CentOS下编写shell脚本来监控MySQL主从复制的教程

    目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1、创建脚本文件 vi /home/crontab/check_mysql_slave.sh #编辑,添加下面代码 #!/bin/sh # check_mysql_slave...

    Shell 脚本编程实战100例.pdf

    11. 系统监控:实例“MySQL主从监控邮件报警脚本”和“监控Nginx进程的脚本”等,可以帮助读者搭建监控系统,实现对关键服务的实时监控和告警。 本书通过实战案例的方式,帮助读者在实际的Linux系统运维工作中,...

    MYSQL性能调优工具介绍与应用

    1. **relay-fetch**:一种优化MySQL主从复制的技术,通过调整从库的SQL线程行为来减少复制延时。具体来说,可以通过调整`slave_sql_fetch_users`和`slave_sql_verify_checks`等参数来改善性能。 #### 四、其他实用...

    keepalived 监测mysql&&redis 高可用配置和脚本

    1. **主从复制配置**:首先,你需要配置MySQL的主从复制,确保数据在主库和从库之间同步。这包括设置`server-id`,配置`binlog_format`为ROW,开启`log-bin`以记录二进制日志,以及在主库上授权从库进行复制。 2. *...

    mysql-installer-community-5.7.21.0.rar

    5. 管理工具优化:MySQL 5.7包含了一些新的管理和监控工具,如MySQL Shell,它是一个交互式脚本环境,支持JavaScript和Python,使得数据库管理更加灵活高效。 接下来,我们关注Windows系统的安装过程: 1. 下载并...

    MySQL的安装包分享

    7. **MySQL Shell**:MySQL 8.0提供了多语言交互式环境MySQL Shell,支持JavaScript和Python脚本,便于进行数据库管理和开发。 8. **数据加密**:MySQL 8.0支持数据-at-rest加密,可以在不改变应用的情况下保护数据...

    Linux运维从入门到高级全套案例v3.rar

    4.1.4 Shell脚本案例 4.1.5Shel1数组编程 5. Linux深入篇 5.1构建 Nginx WEB服务器 Nginx WEB安装 5.1.2 nginx虚拟主机配置 5.1.3 nginx性能优化 5.1.4 nginx参数深入理解 5.1.5 Nginx Rewrite规则 面面面面 5.2构建...

    mysql_install:MySQL 8.0 MGR自动安装配置脚本

    2)配置主从复制(从库执行) #/bin/bash mysql8_install repl 3)配置组复制(先在Primary节点上执行,再到Secondary节点上执行) 注:先把3个节点MySQL实例启动后再开始搭建mgr,同时修改脚本里的ip地址和端口和...

    mysql.zip-windows安装包

    11. **复制与集群**:MySQL支持主从复制和组复制,以实现高可用性和数据冗余,当主服务器出现故障时,可以从备用服务器接管服务。 12. **InnoDB存储引擎**:MySQL最常用的存储引擎,支持事务处理、行级锁定和外键...

    mysql-installer-community-5.7.20.rar

    6. **复制增强**:MySQL 5.7的复制功能有所改进,包括支持GTID(全局事务标识符)自动定位,使得主从同步更加精确和可靠。 7. **半同步复制**:默认启用半同步复制,确保数据至少在一个从库上被写入,提高了数据...

    shell使用mysqld_multi自动做多实例从库脚本

    本文将详细解释如何利用shell脚本配合`mysqld_multi`来自动化处理多实例从库的设置。 `mysqld_multi`是MySQL提供的一种管理工具,它允许在一个系统上启动、停止和管理多个独立的MySQL服务器实例。这对于创建主从...

    php在linux下检测mysql同步状态的方法

    在上述给定文件中,提供了两个实例,分别使用shell脚本和PHP脚本来检测MySQL同步状态。首先,通过shell脚本,我们可以设置定时任务(如使用crontab)来定期检查MySQL数据库服务器的运行状态和主从同步状态。脚本中...

    mysql-installer-community-8.0.26.0

    7. **更好的复制功能**:MySQL 8.0的复制功能进行了升级,包括GTID(全局事务标识符)复制,提供更简单、更安全的主从同步。 8. **新的管理工具**:MySQL Shell是一个多模式的交互式JavaScript和Python界面,用于...

    高级mysql运维工程师面试题20道

    18. **自动化备份**:通过shell脚本、cron任务结合`mysqldump`或InnoDB的备份功能实现定时备份,确保数据安全。 19. **存储过程最佳实践**:保持简单,避免复杂逻辑,适当注释,注意事务管理,避免全局变量,确保...

    Linux运维从入门到高级全套案例v3

    - **MySQL主从高可用架构**:构建MySQL主从复制,提高数据库系统的可靠性。 - **LVS+Keepalived负载均衡**:使用Linux Virtual Server(LVS)和Keepalived实现高可用的负载均衡解决方案。 - **Squid缓存服务器配置*...

Global site tag (gtag.js) - Google Analytics