docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Dokcer部署双主Mysql

Dokcer部署双主Mysql的详细步骤

作者:什么都不会の程序猿

文章介绍了如何创建MySQL主从复制容器,并配置主从关系,主要步骤包括创建容器、创建角色、配置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,不能为其他的任何,如果为其他的,则自行查询解决方案,两边都配通了之后就可以互通数据了

到此这篇关于Dokcer部署双主Mysql的详细步骤的文章就介绍到这了,更多相关Dokcer部署双主Mysql内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文