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,不能为其他的任何,如果为其他的,则自行查询解决方案,两边都配通了之后就可以互通数据了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值