主服务器(master)配置
修改 mysql 配置文件
一般配置文件位于 /etc/my.cnf 或者 /etc/mysql/mysql.conf.d/mysqld.cnf ,添加或修改如下内容:
[mysqld] # 主服务器唯一标识,必须是正整数 server-id = 1 # 开启二进制日志,记录数据库变更 log-bin = mysql-bin # 启用 gtid 模式 gtid_mode = on # 强制 gtid 一致性 enforce_gtid_consistency = on # 允许从服务器将复制的事件写入自己的二进制日志,用于级联复制 log-slave-updates = on # 指定要同步的数据库,若同步所有数据库可省略此配置 # binlog-do-db = your_database_name read_only=0
- 重启 mysql 服务
sudo systemctl restart mysqld
- 创建用于同步的用户
登录 mysql 并执行以下 sql 语句创建一个拥有复制权限的用户:
create user 'repl_user'@'%' identified by 'your_password'; grant replication slave on *.* to 'repl_user'@'%'; flush privileges;
从服务器(slave)配置
- 编辑 mysql 配置文件
添加或修改以下配置:
[mysqld] # 从服务器唯一标识,需与主服务器不同且为正整数 server-id = 2 # 开启 gtid 模式 gtid_mode = on # 强制 gtid 一致性 enforce_gtid_consistency = on # 中继日志,存储从主服务器接收到的二进制日志 relay-log = mysql-relay-bin # 开启二进制日志,用于级联复制等 log-bin = mysql-bin read_only=1
- 重启 mysql 服务
sudo systemctl restart mysqld
- 配置从服务器连接主服务器
change replication source to source_host='ip', source_user='用户', source_password='密码', source_port=3306, source_ssl=1,source_auto_position = 1;
- 启动从服务器复制进程
start replica;
- 检查从服务器状态
show replica status;
到此这篇关于mysql8.4 gtid主从同步的实现步骤的文章就介绍到这了,更多相关mysql8.4 gtid主从同步内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论