说明

由于是单机同时运行主从实例,仅用于开发环境或学习主从复制配置。

文件结构

env

根目录下的 .env 文件作用域是在 docker-compose.yaml 中,而 env 路径下的文件作用与容器内部环境变量,两者作用不同。

.env

docker-compose.yaml

由于使用了 YAML 的引用语法,可以通过 docker-compose config 查看完整的内容。这里配置了一个主库,两个从库,可以根据需求改变从库数量。

初始化实例

基础镜像会在初始化(仅首次运行)时按文件名顺序执行 /docker-entrypoint-initdb.d 下的 .sql .sh 等文件,详细信息可以查看镜像说明页面:

Initializing a fresh instance

When a container is started for the first time, a new database with the specified name will be created and initialized with the provided configuration variables. Furthermore, it will execute files with extensions .sh, .sql and .sql.gz that are found in /docker-entrypoint-initdb.d. Files will be executed in alphabetical order. You can easily populate your mysql services by mounting a SQL dump into that directory and provide custom images with contributed data. SQL files will be imported by default to the database specified by the MYSQL_DATABASE variable.

配置实例参数

使用执行参数可以不依靠 my.cnf 对实例进行配置,详细资料可以查看镜像说明页面:

Configuration without a cnf file Many configuration options can be passed as flags to mysqld. This will give you the flexibility to customize the container without needing a cnf file. For example, if you want to change the default encoding and collation for all tables to use UTF-8 (utf8mb4) just run the following:

If you would like to see a complete list of available options, just run:

主从配置

init-master.sh

在主库中添加用于复制的帐号,由于镜像默认开启 --skip-name-resolve 参数,因此只能通过 IP 配置权限。

注:脚本中是获取容器默认网关网段后添加用户,不适用于生产环境。

init-node.sh

配置从库时会先等待主库就绪,并在从库连接到主库获取必要的参数值进行从库初始化并开启从库复制状态。

使用说明

根据需要调整变量值与脚本,修改 docker-compose.yaml 中各个实例暴露的端口,在项目目录下执行 docker-compose up -d 部署编排。

使用 docker-compose logs mysql-master 可以查看对应容器输出日志。

使用 docker exec -ti mysql-master bash 可进入对应容器控制台环境。

其他

GTIDs 模式需要调整脚本与编排文件中的执行参数。如果想使用容器来为已有实例添加从库,需要修改 init-node.sh 将 File 与 Position 作为环境变量传入应该更合适。

docker hub mysql主从_使用 Docker Compose 搭建 MySQL 数据库主从复制实例相关推荐

  1. docker mysql主从_使用docker 实现MySQL主从同步/读写分离

    1. 利用 docker 实现 mysql 主从同步 / 读写分离 为了保证数据的完整和安全,mysql 设计了主从同步,一个挂掉还可以用另个.最近重构论坛,想来改成主从吧.担心失误,就先拿 dock ...

  2. docker mysql5.7 主从_使用Docker部署MySQL 5.78.0主从集群的方法步骤

    > 部署 MySQL 5.7 集群 master & slave (仅测试用) 镜像版本 5.7 1.创建 overlay 网络 docker network create --driv ...

  3. docker mysql日志写入本地_Docker Compose搭建MySQL主从复制集群

    转载自https://zhuanlan.zhihu.com/p/45193580 前言 随着应用业务数据不断的增大,应用的 响应速度不断下降,在检测过程中我们不难发现大多数的请求都是 查询操作.此时, ...

  4. docker desktop ubuntu镜像_「Docker」 - 镜像仓库

    一.镜像仓库 将Docker镜像和Git进行对比,镜像仓库类似GitHub.GitLab等托管平台,Docker的镜像仓库托管的不是代码项目,而是镜像. Docker镜像仓库最大的作用是实现了Dock ...

  5. MySQL入门_实战3_创建和删除数据库

    MySQL入门_实战系列文章目录 MySQL入门_实战1 MYSQL安装和卸载 MySQL入门_实战2 MYSQL的登录和断开以及SQL查询常见问题 文章目录 MySQL入门_实战系列文章目录 前言 ...

  6. Docker学习总结(43)——Docker Compose 搭建Mysql主从复制集群

    前言 随着应用业务数据不断的增大,应用的 响应速度不断下降,在检测过程中我们不难发现大多数的请求都是 查询操作.此时,我们可以将数据库扩展成 主从复制模式,将 读操作 和 写操作 分离开来,多台数据库 ...

  7. docker管理mysql风险_不要再问了,数据库不建议上Docker

    不要再问了,数据库不建议上Docker 前言 近2年Docker非常的火热,各位开发者恨不得把所有的应用.软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗? 这个问题不是子虚乌有 ...

  8. docker 安装mysql实战_使用docker搭建mysql实例教程

    mysql服务器是目前比较流行的开源数据库服务器,下面介绍如何使用docker来做一个mysql数据库服务 从网站直接拉一个mysql的镜像core @ localhost〜/ base $ dock ...

  9. docker无法连接mysql镜像_关于Docker官方CentOS镜像无法启动mysqld的总结

    很多童鞋反映,在Docker官方CentOS镜像中安装了Mysql server后,无法正常启动. 无法正常启动表现为两种情况: 1> 初始完数据库后,mysqld启动报错 2> syst ...

最新文章

  1. VIM配置攻略(最强干货加强版)
  2. select 统计数量_leetcode题库-sql练习精讲系列--十三、简单分组统计类问题
  3. erp系统方案书_一次ERP选型实施失败的血泪教训!
  4. 姓名和学号 c语言,急啊!!!求救了 C语言编一个链表,输出姓名和学号就好
  5. Python编程之数据结构与算法练习_004
  6. 缺失值填充2——python 热卡填充(Hot deck imputation)、冷卡填充(Cold deck imputation)
  7. svn checkout 提示“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。”解决方法...
  8. CodeForces - 556C Case of Matryoshkas
  9. JavaScript笔记(展开的层)-4
  10. linux系统论文题目大全_计算机应用专业毕业论文题目大全选题
  11. Windows XP 语言栏丢失
  12. [javascript] Box2D JS初探(一个控制小球的游戏例子)。学习用!
  13. java常见的密码加密方式base64,Sha256,MD5
  14. Smartbi电子表格版功能概览
  15. 如何挽回前男友!看懂你也可以成功!(万字攻略)
  16. 理科有计算机类哪些专业吗,计算机专业有哪些。 是文科还是理科
  17. 多租户设计与实践探索
  18. 极智AI | 昆仑芯k200 全高全长推理卡
  19. squid 二级代理设置
  20. Mindmanager故障问题一 Visual c ++ runtime library error R6025错误

热门文章

  1. 2021-2025年中国触摸传感器行业市场供需与战略研究报告
  2. 第9章 互相作用的圆球 (《Python趣味创意编程》教学视频)
  3. 从入门到入土:python爬虫|SCU每日打卡自动填写|测试训练|
  4. 十万大学生都已成为猿粉,你还在等什么?
  5. 2021 年中国开源优秀人物揭晓
  6. C与C++关于*与的传参解析
  7. ElasticSearch 如何使用 TDigest 算法计算亿级数据的百分位数?
  8. 求求你给你的微信头像戴个圣诞帽吧!
  9. 只用两个函数实现事务的设计模式!
  10. 如果我是推荐算法面试官,我会问哪些问题?