keepalived+mysql实现数据库集群高可用

本文详细介绍了如何通过安装并配置Keepalived和MySQL,实现双主双从的高可用数据库集群,包括MySQL的部署、双主配置、Keepalived的安装及配置,以及数据库状态检查脚本的编写和应用。
摘要由CSDN通过智能技术生成

keepalived+mysql实现数据库集群高可用

一、mysql双主双从部署

mysql安装部署(5.7)

1.首先下载mysql的yum源配置

 wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2.安装mysql的yum源

yum -y install mysql57-community-release-el7-11.noarch.rpm

3.yum方式安装mysql

yum -y install mysql-server  --nogpgcheck
--nogpgcheck  (不校验数字签名)

4.启动mysql并获取初始密码,修改密码

systemctl start mysqld  #启动
grep "password" /var/log/mysql/mysql.log  #获取初始密码
mysql -uroot -p'初始密码' password '新密码'   #修改初始密码

mysql双主配置(互为主从)
​1.修改master和slave的配置文件

#主库配置
vim /etc/my.cnf
+  server-id=1
+  log-bin=/var/log/mysql/mysql-bin

 #从库配置
vim /etc/my.cnf
+  server-id=2
+  log-bin=/var/log/mysql/mysql-bin

2.创建日志目录并授权(两台服务器都做)

mkdir /var/log/mysql
chown -R mysql.mysql /var/log/mysql

3.创建一个专门用于复制数据的用户

systemctl restart mysqld #因为改了配置文件,要先重启下服务,牢记
mysql -uroot -p''
+ grant replication slave on *.* to 'repl'@'%' identified by 'Abc123';
+ flush privileges;

4.在从服务器上登录测试一下新建的用户是否可用

mysql -urepl -p'Abc123' -h192.168.48.136

5.查看主服务器的binlog日志的名称和位置

mysql -uroot -p''
+ show master status\G
+记下file和position的信息,后面要用。

6.在从服务器配置连接到主服务器的相关信息

mysql -uroot -p''
+
mysql> CHANGE MASTER TO
MASTER_HOST='mysql-master',  -- 主服务器的主机名(也可以是 IP) 
MASTER_USER='repl',           -- 连接到主服务器的用户
MASTER_PASSWORD='123456',       -- 到主服务器的密码
MASTER_LOG_FILE='mysql-bin.000001',	-- 从主服务器的哪个binlog日志读取
MASTER_LOG_POS=589;					-- 从主服务器的binlog日志的哪个位置开始同步

7.启动从库复制线程并查看主从是否成功

start slave;
show slave status;

二、安装部署并配置keepalived

1.安装keepalived(两台服务器都安装)

yum -y install keepalived

2.master配置keepalived

[root@master ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id master
}
vrrp_script check_run {
   script /etc/keepalived/keepalived_check_mysql.sh
   interval 5
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 66
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.36.192.6/24
    }
    track_script {
        check_run
    }
}


3.slave配置keepalived

[root@slave ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   router_id backup
}
vrrp_script check_run {
   script "/etc/keepalived/keepalived_check_mysql.sh"
   interval 5
}

vrrp_instance VI_1 {
    state BACKUP
    nopreempt
    interface ens33
    virtual_router_id 66
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.36.192.6/24
    }
    track_script {
        check_run
    }
}

4.两台机子配置数据库检查脚本

[root@master ~]# vim /etc/keepalived/keepalived_check_mysql.sh
#!/bin/bash
/usr/bin/mysql -uroot -p'QianFeng@123!' -e "show status" &>/dev/null
if [ $? -ne 0 ] ;then
#	service keepalived stop
	systemctl stop keepalived
fi

[root@slave ~]#
vim /etc/keepalived/keepalived_check_mysql.sh
#!/bin/bash
/usr/bin/mysql -uroot -p'QianFeng@123!' -e "show status" &>/dev/null
if [ $? -ne 0 ] ;then
#	service keepalived stop
	systemctl stop keepalived
fi
[root@master ~]# chmod +x /etc/keepalived/keepalived_check_mysql.sh #添加可执行权限很重要
[root@slave ~]# chmod +x /etc/keepalived/keepalived_check_mysql.sh #添加可执行权限很重要

5.启动keepalived

[root@master ~]# systemctl restart keepalived 
[root@slave ~]# systemctl restart keepalived 
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值