mysql 8.0.25 双主 如何设置
时间: 2023-07-26 09:27:26 浏览: 186
要在 MySQL 8.0.25 中设置双主架构,需要按照以下步骤进行操作:
1. 安装 MySQL 8.0.25,确保两个主节点上的 MySQL 版本一致,并且配置文件中包含了以下参数:
```
server-id=1 # 主节点1的ID号
log-bin=mysql-bin # 启用二进制日志
gtid-mode=ON # 启用 GTID
enforce-gtid-consistency=ON # 强制 GTID 一致性
binlog-format=ROW # 设置二进制日志格式为 ROW
```
2. 在两个主节点上创建一个初始同步点,使两个节点上的数据保持一致。可以使用 `mysqldump` 或 `mysqlpump` 工具将一个节点上的数据导出,并在另一个节点上导入。
3. 在两个主节点上启用 Group Replication,这样可以实现自动故障转移和节点恢复。可以在 MySQL 控制台中使用以下命令来启动 Group Replication:
```
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
```
4. 在两个主节点上配置双向同步,这样可以使两个节点之间的数据保持一致。可以使用 MySQL 自带的工具 `mysqlsh` 来实现双向同步,具体命令如下:
```
# 在主节点1上执行
dba.configureLocalInstance();
# 在主节点2上执行
dba.configureLocalInstance();
# 在主节点1上执行
shell.connect('user@主节点2IP');
var cluster = dba.getCluster();
cluster.addInstance({
user: 'user',
host: '主节点1IP',
password: 'password',
port: 3306,
sslMode: "REQUIRED",
peerUser: 'user',
peerPassword: 'password',
peerPort: 3306
});
# 在主节点2上执行
shell.connect('user@主节点1IP');
var cluster = dba.getCluster();
cluster.addInstance({
user: 'user',
host: '主节点2IP',
password: 'password',
port: 3306,
sslMode: "REQUIRED",
peerUser: 'user',
peerPassword: 'password',
peerPort: 3306
});
```
5. 验证双主架构是否设置成功。可以在任意一个主节点上进行数据操作,然后在另一个主节点上查看数据是否同步。也可以模拟主节点故障,然后查看数据是否自动转移到了另一个主节点上。
以上就是在 MySQL 8.0.25 中设置双主架构的基本步骤,具体的实现可能需要根据实际情况进行调整。
阅读全文