mysql5.7双机热备
时间: 2025-01-07 13:49:02 浏览: 3
### 配置 MySQL 5.7 双机热备实施高可用性部署
#### 主要概念说明
双机热备指的是基于高可用系统中的两台服务器的热备(或高可用)。为了确保系统的持续运行,通常采用两种模式之一:主从热备或是双主互备。对于MySQL数据库而言,可以通过设置两个节点之间的主从复制来达到数据同步的目的,并借助Keepalived配置虚拟IP以实现在一台机器发生故障时自动切换至另一台机器的功能[^4]。
#### 准备工作
- 安装相同版本的MySQL Server软件包于两台目标主机上,例如`mysql-community-server_5.7.20-1ubuntu16.04_amd64.deb`[^2]。
- 确认网络连接正常,防火墙已开放必要的端口用于MySQL通信以及VRRP协议通讯(如果使用Keepalived的话)。
#### Master (主) 服务器配置
编辑MySQL配置文件 `/etc/mysql/my.cnf` 或者 `my.ini`, 添加如下最少三个参数:
```ini
server-id=1
log-bin=mysql-bin
binlog-do-db=testdb # 替换为实际需要同步的数据库名称
```
创建一个专门用于复制的用户账户并赋予相应的权限:
```sql
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
```
重启MySQL服务使更改生效。
#### Slave (从) 服务器配置
同样修改MySQL配置文件, 至少包含下面两项设置:
```ini
server-id=2
relay-log=/var/log/mysql/mysql-relay-bin.log
```
指定Master的信息给Slave:
```sql
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=<position>;
START SLAVE;
```
注意替换上述命令中的`<position>`为你之前记录下来的二进制日志位置;而`master_ip`则是指向真实的Master IP地址。
#### Keepalived安装与配置
为了让整个架构更加健壮可靠,可以引入Keepalived组件负责管理浮动IP资源。在每台MySQL实例所在的物理设备上都需安装此工具,并编写对应的配置脚本来定义VIP归属逻辑。具体做法可参照相关文档资料[^3]。
通过以上步骤即可构建起一套基础版的MySQL 5.7双机热备环境,从而提高业务连续性和灾难恢复能力。
阅读全文