前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[MySQL] docker下安装使用mysql配置主从复制

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

作者头像
唯一Chat
发布2019-11-05 02:04:19
4560
发布2019-11-05 02:04:19
举报

拉取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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档