[MySQL] docker下安装使用mysql配置主从复制

[MySQL] docker下安装使用mysql配置主从复制,第1张

概述拉取mysql的镜像docker search mysqldocker pull mysql 通过镜像创建容器,这里先创建第一个容器作为master mysql-v /etc/mysql:/etc/m

拉取MysqL的镜像
docker search MysqL
docker pull MysqL

通过镜像创建容器,这里先创建第一个容器作为master MysqL
-v /etc/MysqL:/etc/MysqL/conf.d 表示目录共享,目录提前创建好,第二个容器要目录不一样

docker run -d --name one_MysqL -v /etc/MysqL:/etc/MysqL/conf.d -p 3306:3306 -e MysqL_ROOT_PASSWORD=123456 MysqL

进入容器
docker exec -it one_MysqL bash

宿主机的配置文件
/etc/MysqL/MysqL.cnf

[MysqLd]
server-ID = 1
log-bin = MysqL-bin

进入容器后
show master status
查看下当前的状态,如果看到binlog日志是我们配置的文件名就说明我们配置成功了

 

创建第二个容器作为我们的slave MysqL

docker run -d --name two_MysqL -v /etc/MysqL2:/etc/MysqL/conf.d -p 3307:3306 -e MysqL_ROOT_PASSWORD=123456 MysqL
宿主机的配置文件
/etc/MysqL2/MysqL.cnf

[MysqLd]
server-ID = 2

进入容器看看变量变了没有,如果已经是我们配置的就说明配置文件是成功的
docker exec -it two_MysqL bash
show variables like 'server_ID';

开启主从复制
change master to master_host='172.17.0.3',master_user='root',master_password='123456',master_log_file='MysqL-bin.000001',master_log_pos=155;

start slave
show slave status

 

 看到Slave_Io_Running:yes Slave_sql_Running:yes 就可以了


修改密码的加密方式,因为默认的加密方式,主从复制的时候,从数据库连接不上
USE MysqL;
ALTER USER 'root'@'%' IDENTIFIED WITH MysqL_native_password BY '123456';
FLUSH PRIVILEGES;

 

docker inspect 容器ID 查看该容器的IP

总结

以上是内存溢出为你收集整理的[MySQL] docker下安装使用mysql配置主从复制全部内容,希望文章能够帮你解决[MySQL] docker下安装使用mysql配置主从复制所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1152678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存