mysql 主从_搭建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进行同步配置

mysqlMariaDB [(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则成功。

35e6ca59a524fa493b933ae578a956e6.png

编写监控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

2777f20d779b0298f7f7554b78b693f5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值