当前位置: 首页 > news >正文

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;
http://www.cnnetsun.cn/news/9887.html

相关文章:

  • 深度学习之常用激活函数
  • 2023年IEEE TIV,GA-LNS算法+直升机救援调度,深度解析+性能实测
  • xshell的一个会话的连接的ip地址在哪里修改?
  • 【活动总结】创药沙龙第一期:ADC药物研发的挑战与机遇成功举办
  • 如何用免费工具3分钟终极优化Windows右键菜单:告别杂乱,提升300%操作效率
  • Day25
  • 工具 | netcat, netstat
  • AI的下半场:智能体(Agent)将如何重塑我们所有的应用
  • soular全面介绍(4) - 通过soular工作台聚合TikLab所有工具链
  • R-Zero:从零数据自进化推理大语言模型
  • 弹~性布局
  • Wan2.2-T2V-A14B在地震波传播模拟教学中的科学准确性
  • Day 36 MLP神经网络的训练
  • B站视频下载终极指南:免费工具DownKyi完整使用教程
  • 搞懂“元数据”:给数据办一张“身份证”
  • 04_C 语言进阶之避坑指南:多重 if-else 及多重条件混乱 —— 让逻辑不再 “绕迷宫”
  • 量子计算开发者必看(VSCode性能调优实战手册)
  • Android嵌套滑动冲突完全解析:从原理到实战解决方案
  • ASTM D4169-DC13 标准,包装完整性
  • Linux新手必学:tail命令图解指南
  • 19、利用Scapy和Python进行网络数据包处理与扫描
  • 性能测试里MySQL的锁
  • OBS教程:OBS实时字幕插件如何下载?直播字幕翻译怎么弄?
  • MagicTime: Time-Lapse Video Generation Models asMetamorphic Simulators论文精读(1)
  • Laravel 13多模态表单处理:从入门到精通的6大实战场景,错过等于失业
  • 读捍卫隐私03同步
  • [Android] B站第三方电视TVapp BV_0.3.10
  • 【time-rs】 time-core crate 的 Cargo.toml 配置文件详解
  • 政府网站与政务新媒体考核指标有什么区别
  • FLUX.1 Kontext终极指南:重新定义AI图像编辑的边界