要求:两台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则成功。

编写监控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' ];thenecho "同步正常"elseecho "同步异常,尝试修复同步!"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' ];thenecho "恢复正常!"elseecho "修复失败!"fifi

文章转载自带你摘星辰,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




