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. 验证主从复制
现在,我们需要验证主从复制是否正常工作。
#### 步骤:
| 步骤 | 操作 |
| --- | --- |
|









