mysql+keppalived双主热备高可用构建步骤
时间: 2023-07-08 07:27:59 浏览: 117
以下是 MySQL + Keepalived 双主热备高可用构建步骤:
1. 安装 MySQL 和 Keepalived
在两台服务器上安装 MySQL 和 Keepalived,确保版本相同。
2. 配置 MySQL 主从复制
将其中一台服务器设置为主服务器,另一台设置为从服务器。在主服务器上创建一个新用户并授权给从服务器。
在主服务器上执行以下命令:
```
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
```
在从服务器上执行以下命令:
```
CHANGE MASTER TO
MASTER_HOST='master_server_ip',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=0;
```
其中,`master_server_ip` 是主服务器的 IP 地址,`mysql-bin.000001` 是主服务器上二进制日志文件的名称。
3. 配置 Keepalived
在两台服务器上配置 Keepalived。在主服务器上设置为 MASTER 状态,在从服务器上设置为 BACKUP 状态。
在主服务器上创建 `/etc/keepalived/keepalived.conf` 文件,写入以下内容:
```
vrrp_script chk_mysql {
script "/etc/keepalived/check_mysql.sh"
interval 2
weight -2
fall 10
rise 2
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
virtual_ipaddress {
192.168.1.100/24 dev eth0
}
authentication {
auth_type PASS
auth_pass password
}
track_script {
chk_mysql
}
}
```
在从服务器上创建 `/etc/keepalived/keepalived.conf` 文件,写入以下内容:
```
vrrp_script chk_mysql {
script "/etc/keepalived/check_mysql.sh"
interval 2
weight -2
fall 10
rise 2
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
virtual_ipaddress {
192.168.1.100/24 dev eth0
}
authentication {
auth_type PASS
auth_pass password
}
track_script {
chk_mysql
}
}
```
其中,`192.168.1.100` 是虚拟 IP 地址,`password` 是认证密码。`check_mysql.sh` 是一个用于检测 MySQL 是否正常工作的脚本,需要在主从服务器上都创建。
4. 测试高可用性
启动 MySQL 和 Keepalived 服务,在主服务器上创建一个测试数据库并往里面插入一些数据。然后断开主服务器的网络连接,观察从服务器是否接管了虚拟 IP 地址,以及测试数据库是否可用。
以上就是 MySQL + Keepalived 双主热备高可用构建步骤,希望对你有所帮助。
阅读全文