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

使用docker搭建MySQL主从复制

作者头像
没有故事的陈师傅
发布2019-07-28 13:53:48
5270
发布2019-07-28 13:53:48
举报
文章被收录于专栏:运维开发故事运维开发故事

MySQL的主从复制之前也没做过,刚百度了下发现并不算难,但同时开两个虚机挺麻烦,于是我就想到了使用docker来配置MySQL主从复制。

环境:docker,centos,MySQL镜像,这里我直接pull了一个镜像

运行一个master容器

docker run -d --name master -p 3307:3306 -eMYSQL_ROOT_PASSWORD=root mysql

docker ps -a

这里将master容器的3306端口映射给主机的3307端口,-e代表设置环境变量master的MySQL密码为root,-d代表让容器后台运行,使用docker ps -a查看所有的容器

进入master容器,修改master配置

docker exec -it 98d /bin/bash

创建master的复制账号

grant replication slave on *.* to 'wanger'@'%' identified by 'wanger';

flush privileges;

修改master配置,开启二进制日志,设置server-id,server-id值唯一

配置完成后重启容器,进入MySQL

Show master status;

查看二进制文件名与位置,这个值要记住,在从容器上会用到

到这里master容器配置完成,接下来运行一个slave容器

Docker run -d –name slave -p 3308:3306 -eMYSQL_ROOT_PASSWORD=root mysql

进入slave容器,修改slave的配置

开启二进制日志,设置server-id,配置完成后重启服务

打开MySQL会话,执行同步sql语句,同步master账号信息

使用show slave status\G;查看slave的状态,可以看到主从同步设置成功了

在配置主从复制的时候出了点小问题,Slave_Io_Running一直处于connecting状态,配置信息看着没错,就以为是网络问题,就去ping master容器,后来发现我ping的一直是slave的容器,那我的配置信息的IP自然也是slave的IP了,后来改了IP果断yes。

开始测试主从复制

我在master上创建了一个名为wanger的数据库,在slave可以查看到此数据库的存在

到这里,MySQL的主从复制就配置完了,欢迎各位在评论区里留言

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维开发故事 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档