mysql8互为主从安装
时间: 2023-10-14 21:07:41 浏览: 73
Linux系统安装通用MySQL8,及主从配置.zip
MySQL 8支持多种主从复制拓扑结构,如单主从、双主互为主从、环形拓扑等。以下是实现双主互为主从的步骤:
1. 安装MySQL 8服务器
在两台服务器上分别安装MySQL 8服务器,并确保服务器版本一致。
2. 配置主服务器
在其中一台服务器上配置主服务器,步骤如下:
- 修改MySQL配置文件my.cnf,增加以下内容:
```
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=test
```
其中,server-id为服务器唯一标识,必须在不同服务器上设置不同的值;log-bin表示启用二进制日志;binlog-do-db表示只记录指定的数据库操作。
- 重启MySQL服务。
- 创建用于主从复制的用户并授权。
```
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
```
其中,repl为复制用户,password为密码。
- 查看主服务器状态并记录以下信息:
```
SHOW MASTER STATUS;
```
记录File和Position字段的值,用于配置从服务器。
3. 配置从服务器
在另一台服务器上配置从服务器,步骤如下:
- 修改MySQL配置文件my.cnf,增加以下内容:
```
[mysqld]
server-id=2
log-bin=mysql-bin
binlog-do-db=test
```
其中,server-id为服务器唯一标识,必须在不同服务器上设置不同的值;log-bin表示启用二进制日志;binlog-do-db表示只记录指定的数据库操作。
- 重启MySQL服务。
- 启动主从复制并指定主服务器信息。
```
CHANGE MASTER TO
MASTER_HOST='主服务器IP地址',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='上一步中记录的File字段值',
MASTER_LOG_POS=上一步中记录的Position字段值;
START SLAVE;
```
其中,主服务器IP地址为主服务器的IP地址,repl和password为主服务器的复制用户和密码,MASTER_LOG_FILE和MASTER_LOG_POS为上一步中记录的值。
- 查看从服务器状态并确保复制已启动。
```
SHOW SLAVE STATUS\G
```
如果复制已启动,Slave_IO_Running和Slave_SQL_Running字段的值将为Yes。
4. 配置双主互为主从
以上步骤实现了单向主从复制,要实现双向主从复制,需要在另一台服务器上重复以上步骤,并将主从角色互换,即将原来的从服务器配置为主服务器,原来的主服务器配置为从服务器。在配置时需要注意以下几点:
- 在配置第二个主服务器时,server-id必须设置为不同于第一个主服务器的值。
- 在配置第二个从服务器时,需要将MASTER_HOST设置为第二个主服务器的IP地址。
- 在主从切换时,需要先停止原来的复制,再将两个服务器的数据同步,最后启动新的复制。
双主互为主从复制可以实现数据的双向同步,但也存在数据冲突和数据丢失的风险,需要谨慎使用。
阅读全文