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_Running
和 Slave_SQL_Running
字段,确保它们的值都是 Yes
,表示复制正在正常运行。
9. 验证复制
在主服务器上进行一些数据操作,例如插入、更新或删除数据。然后在从服务器上执行以下SQL语句来验证复制是否成功:
SELECT * FROM 表名;
如果能够看到在主服务器上进行的相同操作,说明复制已成功。
完成!
通过以上步骤,你已经成功搭建了MySQL的gtid方式主从复制。现在你可以在主服务器上进行数据操作,并通过从服务器来实现数据的备份和读取。