MySQL的gtid方式主从搭建教程

1. 搭建环境准备

在开始搭建MySQL的gtid方式主从之前,首先需要准备以下环境和工具:

  • 两台服务器,分别作为主服务器和从服务器。
  • 安装MySQL数据库,并确保主从服务器上的MySQL版本一致。
  • 确保主从服务器的网络互通,可以互相访问。

2. 主服务器配置

在主服务器上进行以下配置:

  • 打开主服务器的配置文件 my.cnf,并添加以下配置:
# 启用gtid模式
gtid_mode = ON

# 启用binlog
log-bin = mysql-bin

# 设置server id,确保唯一性
server-id = 1

# 配置binlog格式为ROW
binlog_format = ROW
  • 重启MySQL服务以使配置生效。

3. 从服务器配置

在从服务器上进行以下配置:

  • 打开从服务器的配置文件 my.cnf,并添加以下配置:
# 启用gtid模式
gtid_mode = ON

# 设置server id,确保唯一性
server-id = 2

# 配置binlog格式为ROW
binlog_format = ROW
  • 重启MySQL服务以使配置生效。

4. 主服务器创建复制用户

在主服务器上执行以下SQL语句来创建用于复制的用户:

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

'从服务器IP' 替换为从服务器的IP地址,并设置一个密码用于复制。

5. 主服务器获取GTID信息

在主服务器上执行以下SQL语句来获取当前的GTID信息:

SELECT @@GLOBAL.GTID_EXECUTED;

将会返回一个类似于 d0eeb8b7-9e61-11eb-9d96-0242ac110002:1-19 的结果,将这个结果记录下来,后面会在从服务器配置中用到。

6. 从服务器配置复制

在从服务器上执行以下SQL语句来配置复制:

CHANGE MASTER TO
    MASTER_HOST='主服务器IP',
    MASTER_USER='replication',
    MASTER_PASSWORD='密码',
    MASTER_AUTO_POSITION=1;

'主服务器IP' 替换为主服务器的IP地址,'密码' 替换为之前设置的复制用户的密码。

7. 开始复制

在从服务器上执行以下SQL语句来开始复制:

START SLAVE;

8. 检查复制状态

在从服务器上执行以下SQL语句来检查复制状态:

SHOW SLAVE STATUS\G

查看输出结果中的 Slave_IO_RunningSlave_SQL_Running 字段,确保它们的值都是 Yes,表示复制正在正常运行。

9. 验证复制

在主服务器上进行一些数据操作,例如插入、更新或删除数据。然后在从服务器上执行以下SQL语句来验证复制是否成功:

SELECT * FROM 表名;

如果能够看到在主服务器上进行的相同操作,说明复制已成功。

完成!

通过以上步骤,你已经成功搭建了MySQL的gtid方式主从复制。现在你可以在主服务器上进行数据操作,并通过从服务器来实现数据的备份和读取。