暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

带你摘星辰 2021-03-25
448

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

安装mysql

    yum  -y install mysql mysql-server
    复制

    关闭防火墙

      service  iptables  stop
      setenforce 0
      复制

      上面的主从都做。


      修改的配置文件

        vi  etc/my.cnf
        #添加
        server-id=1
        log-bin=mysqlbin
        relay-log=relays
        复制

        之后保存退出

        重启mysql服务

          service mysqld  restart
          复制

          主上登录mysql进行授权

            mysql
            grant all on *.* to pdh@'%' identified by '123';
            flush privileges;
            复制

            查看二进制日志

              show  master  status;
              复制


              修改mysql

                vi  etc/my.cnf
                #添加
                server-id=2
                log-bin=mysqlbin
                relay-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/bash
                          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 "同步异常,尝试修复同步!"
                          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 "修复失败!"
                          fi
                          fi
                          复制


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

                          评论