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

如何用 Docker 快速搭建 MySQL 主从

作者头像
闻人的技术博客
发布2020-06-09 15:11:19
1.1K0
发布2020-06-09 15:11:19
举报
文章被收录于专栏:程序员闻人程序员闻人

前言

现在容器技术越来越普及,随着 Docker, Kubernetes 不断发展,云原生的概念十分火热。掌握一些容器知识,会基于 Docker,Kubernetes 环境进行服务端开发对后端开发者也成了必不可少的一部分。本文主要描述如何使用 Docker 技术快速搭建一个 MySQL 主从架构。

环境准备

  • CentOS 7
  • Docker 18.09.0
  • MySQL 5.7

环境搭建

1. 使用 Docker 搜索 MySQL 镜像,并且拉取 MySQL 5.7 版本。

代码语言:javascript
复制
docker search mysql
代码语言:javascript
复制
docker pull mysql:5.7

2. 首先新建一个文件夹 master 里面存放 MySQL 主节点的配置文件 my.cnf。

代码语言:javascript
复制
 mkdir master && vi ./master/my.cnf

开启 bin log 和指定 server-id

代码语言:javascript
复制
[mysqld]
## 开启二进制日志功能
log-bin = mysql-bin
## 设置server_id,一般设置为IP,注意要唯一
server-id = 3310

3. Docker 运行 MySQL 镜像

代码语言:javascript
复制
docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name master -v $PWD/master:/etc/mysql/conf.d -p 3310:3306 mysql:5.7

运行成功后使用 docker ps mysql 查看 MySQL 实例运行状态

4. Docker 方式连接 MySQL

代码语言:javascript
复制
docker exec -it master bash
 mysql -uroot -p

5. 检查 主节点 MySQL 的 master 状态和 bin log 开启情况

6. 同样方式搭建从节点 MySQL 实例

代码语言:javascript
复制
mkdir slave && vi ./slave/my.cnf

7. Docker 方式运行从节点 MySQL 实例

代码语言:javascript
复制
docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name slave -v $PWD/slave:/etc/mysql/conf.d -p 3311:3306 mysql:5.7

8. 进入从节点 MySQL 实例关联主节点 MySQL 实例

代码语言:javascript
复制
change master to master_host='localhost', master_user='root', master_password='123456', master_port=3310, master_log_file='mysql-bin.000003', master_log_pos=154, master_connect_retry=60;

9. 从节点 MySQL 开启同步,并且查看同步状态

代码语言:javascript
复制
start slave
show slave status

当 SlaveIORunning 和 SlaveSQLRunning 都是 Yes 了,表明同步开启成功,接下来就是验证了.

结果验证

10. 首先连接进入主节点 MySQL 实例,并且创建数据库 test

代码语言:javascript
复制
docker exec -it master bash
mysql -uroot -p123456
create database test;

11. 连接进入从节点 MySQL 实例,查看当前数据库

代码语言:javascript
复制
docker exec -it slave bash
mysql -uroot -p123456
show databases;

可以从图中看到此刻主节点新增数据库的操作也同步到从节点上了。

到这里, Docker 方式的 MySQL 主从搭建就算完成了,希望对你有所帮助,下篇文章再见吧。

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

本文分享自 闻人的技术博客 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境准备
  • 环境搭建
  • 结果验证
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档