MySQL主从搭建GTID流程

1. 确保环境准备

在进行MySQL主从搭建GTID之前,需要确保以下环境准备:

  • 已经安装好MySQL,并且版本在5.6以上
  • 确保主从服务器之间可以互相通信,并且网络稳定
  • 确保主从服务器的MySQL配置文件(my.cnf)已经正确配置

2. 配置主服务器

首先,我们需要配置主服务器,使其支持GTID。

步骤:

步骤 操作
1 打开主服务器的MySQL配置文件(一般为my.cnf),找到[mysqld]节点
2 在[mysqld]节点下添加以下配置:
gtid_mode = ON # 开启GTID模式
enforce_gtid_consistency = ON # 开启GTID一致性检查
log-bin = mysql-bin # 开启二进制日志
binlog-format = ROW # 使用row格式的二进制日志
server-id = 1 # 指定服务器ID,确保唯一性
3 保存并关闭配置文件
4 重启MySQL服务

3. 配置从服务器

接下来,我们需要配置从服务器,使其能够连接到主服务器并进行复制。

步骤:

步骤 操作
1 打开从服务器的MySQL配置文件(一般为my.cnf),找到[mysqld]节点
2 在[mysqld]节点下添加以下配置:
gtid_mode = ON # 开启GTID模式
enforce_gtid_consistency = ON # 开启GTID一致性检查
server-id = 2 # 指定服务器ID,确保唯一性
3 保存并关闭配置文件
4 重启MySQL服务

4. 创建主从复制账户

为了使主从服务器能够进行认证和复制,我们需要在主服务器上创建一个用于复制的账户,并将权限授予该账户。

步骤:

步骤 操作
1 连接到主服务器的MySQL
2 执行以下SQL语句创建复制账户,并授予复制权限:
```sql

CREATE USER 'replication'@'从服务器IP' IDENTIFIED BY '密码'; GRANT REPLICATION SLAVE ON . TO 'replication'@'从服务器IP';

|   | 将`从服务器IP`替换为从服务器的IP地址,`密码`替换为账户的密码 |
| 3 | 执行`FLUSH PRIVILEGES;`刷新权限 |
| 4 | 执行`SHOW MASTER STATUS;`查看主服务器的binlog文件名和位置,记录下来,后续从服务器需要用到 |

### 5. 配置从服务器复制

现在我们需要在从服务器上配置复制,使其能够连接到主服务器并进行数据同步。

#### 步骤:

| 步骤 | 操作 |
| --- | --- |
| 1 | 连接到从服务器的MySQL |
| 2 | 执行以下SQL语句配置复制: |
|   | ```sql
CHANGE MASTER TO
    MASTER_HOST='主服务器IP',
    MASTER_USER='replication',
    MASTER_PASSWORD='密码',
    MASTER_PORT=3306,
    MASTER_AUTO_POSITION=1,
    MASTER_CONNECT_RETRY=10;
``` |
|   | 将`主服务器IP`替换为主服务器的IP地址,`密码`替换为复制账户的密码 |
|   | `MASTER_AUTO_POSITION=1`表示使用GTID复制 |
| 3 | 执行`START SLAVE;`启动从服务器的复制 |
| 4 | 执行`SHOW SLAVE STATUS\G;`查看复制状态,确保`Slave_IO_Running`和`Slave_SQL_Running`均为`Yes` |

### 6. 验证主从复制

现在,我们需要验证主从复制是否正常工作。

#### 步骤:

| 步骤 | 操作 |
| --- | --- |
|