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

Dokcer部署双主Mysql

创建容器:

Mysql主1

docker run -d \
--name mysql-master1 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /etc/mysql:/var/lib/mysql \
-p 3306:3306 \
 mysql:8.01 \
--server-id=1 \
--log-bin=mysql-bin \
--gtid-mode=ON \
--enforce-gtid-consistency=ON

Mysql主2

docker run -d \
--name mysql-master2 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /etc/mysql:/var/lib/mysql \
-p 3306:3306 \
 mysql:8.01 \
--server-id=2 \
--log-bin=mysql-bin \
--gtid-mode=ON \
--enforce-gtid-consistency=ON

创建角色:

使用navcait操作,两个主Mysql使用一样的命令,

CREATE USER 'replica'@'%' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
FLUSH PRIVILEGES;

配置Mysql:

SHOW MASTER STATUS;

在这里插入图片描述

CHANGE MASTER TO
  MASTER_HOST='192.168.110.71',
  MASTER_PORT=3309,
  MASTER_USER='replica',
  MASTER_PASSWORD='replica_password',
  MASTER_LOG_FILE='mysql-bin.000006', -- 使用第二个主数据库的File值
  MASTER_LOG_POS=1420, -- 使用第二个主数据库的Position值
  master_connect_retry=60,
  GET_MASTER_PUBLIC_KEY=1;
  START SLAVE;

此处为从数据库配置主数据库的信息,因此需要配置对方的信息,这里的host、post、切换为自己对应的,用户名和密码如果直接复制的上方用户创建的话,则无需修改,file和pos对应上方查询到的信息,不要随便填写,按照上方的来

查询结果:

show slave status

在这里插入图片描述
两个参数必须要为yes,不能为其他的任何,如果为其他的,则自行查询解决方案,两边都配通了之后就可以互通数据了


http://www.kler.cn/a/464456.html

相关文章:

  • XDOJ 771 求二叉树高度
  • C++ 面向对象编程:多继承、多态
  • 人工智能安全与隐私——联邦遗忘学习(Federated Unlearning)
  • 利用Java爬虫获取店铺所有商品:技术实践与应用指南
  • Windows通过X11转发显示远程Linux上的图形界面
  • 问题记录:[FATAL] [1735822984.951119148]: Group ‘manipulator‘ was not found.
  • vLLM结构化输出(Guided Decoding)
  • C语言中的va_list
  • 云架构Web端的工业MES系统设计之区分工业过程
  • 工业路由器是什么?ER5000为何是领先5G路由器行业
  • 鸿蒙HarmonyOS开发:系统服务(拨打电话、网络搜索、联系人、位置服务、拉起弹框请求用户授权)
  • OpenCV报错:应用程序无法正常启动0xc000007b
  • Hack The Box-Starting Point系列Responder
  • CSS列表、表格、鼠标、滤镜样式设置
  • 深入理解 C 语言预处理:从源文件到可执行程序的关键步骤
  • Vue3实战教程》24:Vue3自定义指令
  • linux下安装达梦数据库v8详解
  • 通过Dockerfile来实现项目可以指定读取不同环境的yml包
  • 24.Java 新特性扩展(重复注解、类型注解)
  • Docker隔离及资源限制原理