mysql三台互为主从
时间: 2023-11-08 17:03:33 浏览: 168
mysql 主从
要将三台MySQL服务器配置为互为主从,您需要按照以下步骤进行操作:
1. 配置主服务器:
- 在主服务器的配置文件中(通常是my.cnf或my.ini),启用二进制日志记录(binary logging)功能。将以下参数添加到配置文件中:
```
log_bin = /var/log/mysql/mysql-bin.log
server_id = 1
```
- 重启主服务器以使配置更改生效。
2. 配置从服务器1:
- 在从服务器1的配置文件中,启用二进制日志记录功能,并设置一个唯一的服务器ID。将以下参数添加到配置文件中:
```
log_bin = /var/log/mysql/mysql-bin.log
server_id = 2
```
- 重启从服务器1以使配置更改生效。
3. 配置从服务器2:
- 在从服务器2的配置文件中,启用二进制日志记录功能,并设置一个唯一的服务器ID。将以下参数添加到配置文件中:
```
log_bin = /var/log/mysql/mysql-bin.log
server_id = 3
```
- 重启从服务器2以使配置更改生效。
4. 创建主从复制用户:
- 在主服务器上,使用以下命令创建一个用于复制的用户,并授予其复制权限:
```sql
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
```
- 替换'password'为您选择的密码,并记住它。
5. 备份主服务器的数据:
- 在主服务器上,使用适合您的备份方法进行数据备份。
6. 配置从服务器1开始复制:
- 在从服务器1上,使用以下命令启动复制过程:
```sql
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='主服务器二进制日志文件', MASTER_LOG_POS=主服务器二进制日志位置;
START SLAVE;
```
- 替换'MASTER_HOST'为主服务器的IP地址,'password'为步骤4中设置的密码,'主服务器二进制日志文件'和'主服务器二进制日志位置'为步骤5备份的主服务器二进制日志文件和位置。
7. 配置从服务器2开始复制:
- 在从服务器2上,使用与步骤6相同的命令启动复制过程,但是将'MASTER_HOST'更改为从服务器1的IP地址。
现在,您的三台MySQL服务器应该已经配置为互为主从。主服务器上的更改将自动复制到从服务器1和从服务器2。
阅读全文