当前位置: 代码网 > it编程>数据库>Mysql > Mysql 8.4.0 结合 Docker 搭建GTID主从复制及传统主从复制详解

Mysql 8.4.0 结合 Docker 搭建GTID主从复制及传统主从复制详解

2024年07月05日 Mysql 我要评论
注意:本教程不适用旧版本,mysql 8.4.0 和 旧版本,主从复制相关命令有所变化,具体区别请看文末参考软件版本docker:26.1.3mysql:8.4.0gtid主从复制1.准备主从两台服务

注意:本教程不适用旧版本,mysql 8.4.0 和 旧版本,主从复制相关命令有所变化,具体区别请看文末参考

软件版本

docker:26.1.3

mysql:8.4.0

gtid主从复制

1.准备主从两台服务器

2.两台服务器分别创建dockercompose文件

services:
  mysql:
    image: mysql:8.4.0
    ports:
      - "3306:3306"
    environment:
      mysql_root_password: abc123
    volumes:
      - ./data:/var/lib/mysql
      - ./config:/etc/mysql/conf.d
    restart: always

3.主库服务器导入配置到 config/my.cnf

[mysqld]
gtid_mode=on
enforce-gtid-consistency=on

4.从库服务器导入配置到 config/my.cnf

[mysqld]
gtid_mode=on
enforce-gtid-consistency=on
server-id = 2

5.启动两个容器

6.主库创建复制账户

create user 'repl' identified by 'abc123';
grant replication slave on *.* to 'repl';

7.从库接入

7.1.配置复制源:

change replication source to
 source_host = '192.168.1.113',
 source_port = 3306,
 source_user = 'repl',
 source_password = 'abc123',
 source_auto_position = 1,
 source_ssl = 1;

7.2.启动复制进程:start replica;

7.3.查看复制状态:show replica status;

主要看这两个,都是yes代表就绪

(扩展)停止重置复制:stop replica;reset replica all;

8.主从复制配置完毕

接下来所有主库的变化都会同步到从库,但是要注意,从库非只读状态,要杜绝直接修改从库,否则可能会导致冲突。

传统主从复制

1.准备主从两台服务器

2.两台服务器分别创建dockercompose文件

services:
  mysql:
    image: mysql:8.4.0
    ports:
      - "3306:3306"
    environment:
      mysql_root_password: abc123
    volumes:
      - ./data:/var/lib/mysql
      - ./config:/etc/mysql/conf.d
    restart: always

3.从库服务器导入配置到 config/my.cnf

[mysqld]
server-id = 2

4.启动两个容器

5.主库创建复制账户

create user 'repl' identified by 'abc123';
grant replication slave on *.* to 'repl';

5.查看主库日志文件名、指针

执行sql:show binary log status;

6.从库接入

6.1.配置复制源:

填入主库的文件名、指针

change replication source to
 source_host='192.168.1.113',
 source_user='repl',
 source_password='abc123',
 source_log_file='binlog.000002',
 source_log_pos=682,
 source_ssl = 1;

6.2.启动复制进程:start replica;

6.3.查看复制状态:show replica status;

主要看这两个,都是yes代表就绪

(扩展)停止重置复制:stop replica;reset replica all;

7.主从复制配置完毕

接下来所有主库的变化都会同步到从库,但是要注意,从库非只读状态,要杜绝直接修改从库,否则可能会导致冲突。

参考资料

mysql :: mysql 8.4 reference manual :: 19.1.2 setting up binary log file position based replication

mysql :: mysql 8.4 reference manual :: 19.1.3.4 setting up replication using gtids

mysql 8.4.0 lts 变更解析:mysql 的复制与组复制 - 墨天轮 (modb.pro)

到此这篇关于mysql 8.4.0 结合 docker 搭建gtid主从复制,以及传统主从复制的文章就介绍到这了,更多相关mysql 8.4.0 主从复制内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com