MySQL主从服务器的守护进程监视

检测myslq从库状态,跳过固定的错误号,每隔30秒检测一次,如果符合条件自动跳过或者是重启从库

1)取出mysql从库的关键字

 

1 [[email protected] scripts]# mysql -u root -p123qq.com3307 -S /data/3307/mysql.sock -e "show slave status\G"|grep -E "Running|Seconds_Behind_Master|Last_SQL_Errno"|awk ‘{print $NF}‘
2 Yes
3 Yes
4 0
5 0

 

2)把错误号定义在数组里面

3)while ture

根据思路调试出如下脚本

 1 [[email protected] scripts]# cat check_mysql_slave.sh
 2 #/bin/bash
 3 #Date:
 4 #Author:
 5 #Mail:     917667797@qq.com
 6 #Function: This scripts  function is check mysql slave is ok
 7 #Version:  1.1
 8 qq="[email protected]"
 9 cmd="mysql -u root -p123qq.com3307 -S /data/3307/mysql.sock -e"
10 ip=`ifconfig eth2|sed -n ‘s#^.*ddr:\(.*\) Bc.*$#\1#gp‘`
11 skip=`$cmd "stop slave;set global sql_slave_skip_counter=1;start slave;"`
12 error_numb=(1158 1159 1008 1007 1062)
13 while true
14 do
15 status=(`$cmd "show slave status\G"|grep -E "Running|Seconds_Behind_Master|Last_SQL_Errno"|awk ‘{print $NF}‘`)
16
17    if [ "${status[0]}"  == "Yes" -a "${status[1]}" == "Yes" -a "${status[2]}" == "0" ]
18        then
19            echo  "mysql slave is ok"
20        else
21            for ((n=0;n<${#error_numb[*]};n++))
22            do
23               if [ "${status[3]}" == "${error_numb[n]}" ];then
24               ${skip}
25               else
26                $cmd "stop slave;start slave;"
27               fi
28            done
29            echo  "mysql salve is not ok"
30            echo "${ip} mysql is not ok"|mail -s "mysql slave error at `date +%F%T`" $qq
31    fi
32 sleep 3
33 done

  

测试结果如下

[[email protected] scripts]# sh check_mysql_slave.sh

mysql salve is not ok

mysql slave is ok

mysql slave is ok

mysql slave is ok

mysql slave is ok

mysql slave is ok

mysql slave is ok

mysql slave is ok

mysql slave is ok

mysql slave is ok

mysql slave is ok

时间: 2024-10-12 04:18:58

MySQL主从服务器的守护进程监视的相关文章

2-18,19 搭建MySQL主从服务器并并通过mysql-proxy实现读写分离

MySQL主从服务器 实现方式: MySQL  REPLICATION Replication可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave) 默认情况下这种情况属于异步复制,无需维持长连接 通过配置,可以复制所有库或者几个库,甚至库中的一些表 它是MySQL内建的,自带 Replication的原理 主服务器master将数据库的改变写入二进制日志文件,从服务器slave同步这些二进制日志,并生成中继日志,从服务器根据中继日志,执行这些改变 DML:S

搭建mysql主从服务器

搭建mysql主从服务器: //注:注释掉my.cn文件中的skip-federated字段[[email protected] ]# /bin/cp -r /usr/local/mysql/share/mysql/my-huge.cnf  /etc/my.cnf 配置主服务器:修改my.cnf文件server-id=1 //每个数据库服务器都要指定唯一一个server-id log-bin=mysql-bin //mysql进行主从复制时通过二进制日志文件来进行的,所以必须开启mysql日志功

mysql主从服务器搭建

当业务流量过大时,我们的一台服务器可能难以负载,我们需要用到主从服务器的配置. 具体配置如下: 172.17.10.57位主服务器 172.17.55.206 从服务器 正确的安装数据库后,确保两台的能互通. mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456'; //一般不用root帐号,"%"表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.16

mysql主从服务器复制原理

在实际企业应用环境当中,单台mysql数据库是不足以满足日后业务需求的.譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止.介于这种情况,我们来学习一下mysql主从复制. 将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服

mysql主从服务器的配置

使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3.将主服务器上的数据复制到从服务器上,保护数据免受意外的损失. 环境描述: 新企业要搭建架构为主从复制的mysql数据库. 主服务器(mysql-master):IP地址:192.168.48.128,mysql已安装,没有用户数据. 从服务器(mysql-slave):IP地址:192.168.48

mysql 主从服务器 切换

mysql 从服务器切换为主服务器: 步骤如下: 1 确认从服务器已经完成所有同步操作: stop slave io_thread  show processlist  直到看到状态都为:xxx has read all relay log 表示更新都执行完毕 2 停止从服务器slave服务 stop slave 3 将从服务器切换为主服务器: reset master 完成切换. PS: 如果从服务器设置了 read only 选项,则需要将这个参数去掉并重新启动数据库.

MySQL主从服务器slave无法连接master:SSL连接错误:协议版本不匹配

首次发文 刚学2个月的小白在VM上练习主从复制时候遇到了一个错误: ERROR 2026 (HY000): SSL connection error: protocol version mismatch 在查看Firewalls和selinux都关闭后,无奈了 反复连接都是这个错误,换了服务器连接还是提示同样的错误,崩溃了 最后解决方法是 在主从服务器上分别在/etc/my.cnf文件下加入一行代码 skip_ssl 注意是两个都要加 保存,重启mysqld 然后可以连接了 go on!主从复制

配置mysql主从服务器

参考:https://www.linuxidc.com/Linux/2016-09/135633.htm 一.Master主服务器配置(192.168.1.3) 1.编辑my.cnf(命令查找文件位置:find / -name my.cnf) vi /etc/mysql/my.cnf 在[mysqld]中添加: server-id = 1 log_bin = master-bin log_bin_index = master-bin.index binlog_do_db = my_data bi

使用Amoeba让mysql主从服务器实现读写分离

环境: 一台CentOS6.5-x64最小化安装(ip:10.0.0.226) 软件:jdk-8u60-linux-x64.rpm, amoeba-mysql-binary-2.2.0.tar.gz 下载地址:链接: http://pan.baidu.com/s/1c04Wmys 密码: 4tqe 2.一台CentOS6.5-x64最小化安装(ip:10.0.0.222) 为了节省资源,本次使用的是mysql多实例.3306为主(master),3307为从(slave). 主从同步这里就不在说