news 2026/2/17 1:12:20

docker容器单机创建3个节点的MySQLMGR集群

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
docker容器单机创建3个节点的MySQLMGR集群

docker容器单机创建3个节点的MySQLMGR集群

mkdir -p /data/dockerData/mysql1/conf.d mkdir -p /data/dockerData/mysql1/data mkdir -p /data/dockerData/mysql2/conf.d mkdir -p /data/dockerData/mysql2/data mkdir -p /data/dockerData/mysql3/conf.d mkdir -p /data/dockerData/mysql3/data
docker run -d \ --name mysql33011 \ -p 33011:3306 \ --net=mysql-network --ip 172.72.0.15 \ -v /data/dockerData/mysql1/conf.d:/etc/mysql/conf.d \ -v /data/dockerData/mysql1/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=root \ mysql:8.0.43 docker run -d \ --name mysql33012 \ -p 33012:3306 \ --net=mysql-network --ip 172.72.0.16 \ -v /data/dockerData/mysql2/conf.d:/etc/mysql/conf.d \ -v /data/dockerData/mysql2/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=root \ mysql:8.0.43 docker run -d \ --name mysql33013 \ -p 33013:3306 \ --net=mysql-network --ip 172.72.0.17 \ -v /data/dockerData/mysql3/conf.d:/etc/mysql/conf.d \ -v /data/dockerData/mysql3/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=root \ mysql:8.0.43
cat > /data/dockerData/mysql1/conf.d/my.cnf <<"EOF" [mysqld] user=mysql port=3306 character_set_server=utf8mb4 secure_file_priv='' server-id = 33011 default-time-zone = '+8:00' log_timestamps = SYSTEM log-bin = 1 binlog_format=row binlog_checksum=NONE log-slave-updates=1 skip-name-resolve auto-increment-increment=2 auto-increment-offset=1 gtid-mode=ON enforce-gtid-consistency=on default_authentication_plugin=mysql_native_password max_allowed_packet = 500M master_info_repository=TABLE relay_log_info_repository=TABLE relay_log=mgr15-relay-bin-ip15 transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" loose-group_replication_start_on_boot=OFF loose-group_replication_local_address= "172.72.0.15:33061" loose-group_replication_group_seeds= "172.72.0.15:33061,172.72.0.16:33062,172.72.0.17:33063" loose-group_replication_bootstrap_group=OFF loose-group_replication_ip_whitelist="172.72.0.15,172.72.0.16,172.72.0.17" report_host=172.72.0.15 report_port=3306 EOF cat > /data/dockerData/mysql2/conf.d/my.cnf <<"EOF" [mysqld] user=mysql port=3306 character_set_server=utf8mb4 secure_file_priv='' server-id = 33012 default-time-zone = '+8:00' log_timestamps = SYSTEM log-bin = 1 binlog_format=row binlog_checksum=NONE log-slave-updates=1 gtid-mode=ON enforce-gtid-consistency=ON skip_name_resolve default_authentication_plugin=mysql_native_password max_allowed_packet = 500M master_info_repository=TABLE relay_log_info_repository=TABLE relay_log=mgr16-relay-bin-ip16 transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" loose-group_replication_start_on_boot=OFF loose-group_replication_local_address= "172.72.0.16:33062" loose-group_replication_group_seeds= "172.72.0.15:33061,172.72.0.16:33062,172.72.0.17:33063" loose-group_replication_bootstrap_group=OFF loose-group_replication_ip_whitelist="172.72.0.15,172.72.0.16,172.72.0.17" report_host=172.72.0.16 report_port=3306 EOF cat > /data/dockerData/mysql3/conf.d/my.cnf <<"EOF" [mysqld] user=mysql port=3306 character_set_server=utf8mb4 secure_file_priv='' server-id = 33013 default-time-zone = '+8:00' log_timestamps = SYSTEM log-bin = 1 binlog_format=row binlog_checksum=NONE log-slave-updates=1 gtid-mode=ON enforce-gtid-consistency=ON skip_name_resolve default_authentication_plugin=mysql_native_password max_allowed_packet = 500M master_info_repository=TABLE relay_log_info_repository=TABLE relay_log=mgr17-relay-bin-ip17 transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" loose-group_replication_start_on_boot=OFF loose-group_replication_local_address= "172.72.0.17:33063" loose-group_replication_group_seeds= "172.72.0.15:33061,172.72.0.16:33062,172.72.0.17:33063" loose-group_replication_bootstrap_group=OFF loose-group_replication_ip_whitelist="172.72.0.15,172.72.0.16,172.72.0.17" report_host=172.72.0.17 report_port=3306 EOF
docker restart mysql33011 mysql33012 mysql33013
所有MySQL容器中安装MGR插件 //xxx是容器的名称 docker exec -it mysql33011 mysql -uroot -proot INSTALL PLUGIN group_replication SONAME 'group_replication.so'; show plugins; docker exec -it mysql33012 mysql -uroot -proot INSTALL PLUGIN group_replication SONAME 'group_replication.so'; show plugins; docker exec -it mysql33013 mysql -uroot -proot INSTALL PLUGIN group_replication SONAME 'group_replication.so'; show plugins;
在所有节点上创建复制账号 docker exec -it mysql33011 mysql -uroot -proot docker exec -it mysql33012 mysql -uroot -proot docker exec -it mysql33013 mysql -uroot -proot SET SQL_LOG_BIN=0; CREATE USER repl@'%' IDENTIFIED BY 'root'; GRANT REPLICATION SLAVE ON *.* TO repl@'%'; FLUSH PRIVILEGES; SET SQL_LOG_BIN=1; CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='root' FOR CHANNEL 'group_replication_recovery'; exit;
启动MGR单主模式 在主节点上启动MGR: docker exec -it mysql33011 mysql -uroot -proot SET GLOBAL group_replication_bootstrap_group=ON; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group=OFF; SELECT * FROM performance_schema.replication_group_members; 剩余节点需要加入MGR,在剩余节点上执行以下操作: docker exec -it mysql33012 mysql -uroot -proot docker exec -it mysql33013 mysql -uroot -proot START GROUP_REPLICATION; SELECT * FROM performance_schema.replication_group_members; exit;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 17:54:24

ASP.NET Core如何优化大文件上传的性能?

政府招投标项目大文件传输解决方案探索 作为山东济南一家软件公司项目负责人&#xff0c;近期我们正全身心投入一个政府招投标项目。在项目推进过程中&#xff0c;大文件传输需求成为了一大关键挑战&#xff0c;必须找到一套契合项目各方面要求的解决方案。 一、项目需求剖析…

作者头像 李华
网站建设 2026/2/4 10:52:51

C#如何实现大文件上传的权限控制?

政府项目大文件传输系统开发方案 一、技术选型与架构设计 作为项目技术负责人&#xff0c;针对政府招投标系统的特殊需求&#xff0c;设计以下技术方案&#xff1a; 1.1 核心架构 #mermaid-svg-PhOoUHSK6VaHGmXX {font-family:"trebuchet ms",verdana,arial,sans-…

作者头像 李华
网站建设 2026/2/7 5:15:20

Wan2.2-T2V-A14B如何处理遮挡关系以增强空间感

Wan2.2-T2V-A14B如何处理遮挡关系以增强空间感 在当前AI生成内容迈向“动态世界构建”的关键时刻&#xff0c;一个看似细微却极为关键的挑战浮出水面&#xff1a;当一个人物从树后走出、一辆车驶过行人前方、一只鸟飞入建筑阴影中——这些日常场景中的遮挡与重现&#xff0c;恰…

作者头像 李华
网站建设 2026/2/15 20:24:50

你真的会写Agentic Apps配置吗?Docker Compose中不可不知的4大陷阱与优化

第一章&#xff1a;Docker Compose 中 Agentic Apps 的定义与配置概述在现代云原生应用开发中&#xff0c;Agentic Apps 指具备自主行为能力、可感知环境并作出响应的分布式服务组件。这类应用通常由多个协同工作的微服务构成&#xff0c;每个服务都封装了特定的业务逻辑&#…

作者头像 李华
网站建设 2026/2/14 9:36:15

华为HCIA笔记——第十三天

生成树协议 本章内容详细介绍了STP(生成树协议)的产生背景、工作原理和RSTP等内容 生成树协议 一、STP协议 1.1 产生背景 1.2 STP基本概念 1.3 BPDU报文格式 1.4 STP拓扑计算 二、RSTP协议 2.1 STP的不足 2.2 RSTP对STP的改进 三、生成树技术进阶 一、STP协议 1.1 产生背景…

作者头像 李华
网站建设 2026/2/10 13:58:27

COO格式稀疏矩阵进行Permutation置换操作

文章目录✅ 步骤 1&#xff1a;应用对称置换✅ 步骤 2&#xff1a;构造逆排列✅ 步骤 3&#xff1a;应用置换并排序 COO&#x1f501; 如何“逆置换”&#xff1f;✅ 补充说明要对一个 COO 格式&#xff08;Coordinate Format&#xff09;的稀疏方阵A∈RnnA \in \mathbb{R}^{n …

作者头像 李华