搭建mysql主从并编写监控主从状态脚本

Posted 带你摘星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建mysql主从并编写监控主从状态脚本相关的知识,希望对你有一定的参考价值。

要求:两台centos7虚拟机分为主和从

安装mysql

yum -y install mysql mysql-server

关闭防火墙

service iptables stopsetenforce 0

上面的主从都做。


修改的配置文件

vi /etc/my.cnf#添加server-id=1log-bin=mysqlbinrelay-log=relays

之后保存退出

重启mysql服务

service mysqld restart

主上登录mysql进行授权

mysqlgrant all on *.* to pdh@'%' identified by '123';flush privileges;

查看二进制日志

show master status;


修改mysql

vi /etc/my.cnf#添加server-id=2log-bin=mysqlbinrelay-log=relays

之后保存退出

重启mysql服务

service mysqld restart


登录mysql进行同步配置

mysql
MariaDB [(none)]> change master to -> master_host='主mysql的IP地址', -> master_user='pdh', -> master_password='123', -> master_log_file='主上面的二进制名称', -> master_log_pos=主上二进制位置信息;

开启同步

start slave;

查看同步是否成功

show slave status \G;

出现双yes则成功。


编写监控MySQL主从状态监控脚本!若主从状态异常,尝试恢复主从同步!

#!/bin/bashIO=$(mysql -e "show slave status \G;" | grep 'Slave_IO_Running'| awk '{print $2}')SQL=$(mysql -e "show slave status \G;" | grep 'Slave_SQL_Running'| awk '{print $2}')
if [ $IO = $SQL -a $IO = 'Yes' ];then echo "同步正常"else echo "同步异常,尝试修复同步!" mysql -e 'stop slave;set global sql_slave_skip_counter=1;start slave;' IO=$(mysql -e "show slave status \G;" | grep 'Slave_IO_Running'| awk '{print $2}') SQL=$(mysql -e "show slave status \G;" | grep 'Slave_SQL_Running'| awk '{print $2}') if [ $IO = $SQL -a $IO = 'Yes' ];then echo "恢复正常!" else echo "修复失败!" fifi


以上是关于搭建mysql主从并编写监控主从状态脚本的主要内容,如果未能解决你的问题,请参考以下文章

编写脚本实现MySQL主从复制状态监控

Shell脚本监控Mysql主从同步状态+钉钉提醒

使用zabbix监控mysql主从状态

zabbix监控mysql主从状态

mysql主从状态监控脚本报警脚本

监控MYSQL主从同步配置中监控从库运行状态的脚本