当前位置:网站首页>基于Docker构建MySQL主从复制数据库
基于Docker构建MySQL主从复制数据库
2022-08-09 19:27:00 【绝域时空】
0.前言
本次带来的是基于Docker-compose构建出MySQL单节点和主从复制的MySQL环境,本次使用的依旧是bitnami的第三方镜像资源。希望通过这个文章对于学习和使用Docker搭建MySQL的你提供帮助。
1.Docker构建单节点MySQL服务
1.1Docker-compose构建出MySQL节点服务
下面提供基于Docker-Compose 构建出单节点的MySQL服务的yml文件:
version: '2.1'
services:
mysql:
image: docker.io/bitnami/mysql:8.0
ports:
- '3306:3306'
volumes:
- 'mysql_data:/bitnami/mysql/data'
environment:
# ALLOW_EMPTY_PASSWORD is recommended only for development.
- ALLOW_EMPTY_PASSWORD=yes
healthcheck:
test: ['CMD', '/opt/bitnami/scripts/mysql/healthcheck.sh']
interval: 15s
timeout: 5s
retries: 6
volumes:
mysql_data:
driver: local
1.2 配置信息
- MYSQL_ROOT_USER:数据库管理员用户。缺省值为 。root
- MYSQL_ROOT_PASSWORD:数据库管理员用户密码。无默认值。
2.Docker-compose 构建MySQL主从复制集群
2.1 Docker-compose构建
下面是Docker-Compose构建MySQL主从复制集群的yml配置文件
version: '2.1'
services:
mysql-master:
image: docker.io/bitnami/mysql:8.0
ports:
- '3306'
volumes:
- 'mysql_master_data:/bitnami/mysql/data'
environment:
- MYSQL_REPLICATION_MODE=master
- MYSQL_REPLICATION_USER=repl_user
- MYSQL_USER=my_user
- MYSQL_DATABASE=my_database
# ALLOW_EMPTY_PASSWORD is recommended only for development.
- ALLOW_EMPTY_PASSWORD=yes
- MYSQL_ROOT_PASSWORD=my_root_password
healthcheck:
test: ['CMD', '/opt/bitnami/scripts/mysql/healthcheck.sh']
interval: 15s
timeout: 5s
retries: 6
mysql-slave:
image: docker.io/bitnami/mysql:8.0
ports:
- '3306'
depends_on:
- mysql-master
environment:
- MYSQL_REPLICATION_MODE=slave
- MYSQL_REPLICATION_USER=repl_user
- MYSQL_USER=my_user
- MYSQL_DATABASE=my_database
- MYSQL_MASTER_HOST=mysql-master
- MYSQL_MASTER_PORT_NUMBER=3306
- MYSQL_MASTER_ROOT_PASSWORD=my_root_password
# ALLOW_EMPTY_PASSWORD is recommended only for development.
- ALLOW_EMPTY_PASSWORD=yes
healthcheck:
test: ['CMD', '/opt/bitnami/scripts/mysql/healthcheck.sh']
interval: 15s
timeout: 5s
retries: 6
volumes:
mysql_master_data:
driver: local
2.2 配置信息
下面是基于Docker-Compose构建MySQL主从复制的一些环境变量的配置信息:
- MYSQL_REPLICATION_MODE:复制模式。可能的值 /。无默认值。masterslave
- MYSQL_REPLICATION_USER:首次运行时在主服务器上创建的复制用户。无默认值。
- MYSQL_REPLICATION_PASSWORD:复制用户密码。无默认值。
- MYSQL_MASTER_HOST:复制主站(从属参数)的主机名/IP。无默认值。
- MYSQL_MASTER_PORT_NUMBER:复制主服务器的服务器端口(从属参数)。缺省值为 。3306
- MYSQL_MASTER_ROOT_USER:复制主服务器上有权访问 (从属参数) 的用户。默认值为MYSQL_DATABASE=root
- MYSQL_MASTER_ROOT_PASSWORD:复制主服务器上有权访问(从属参数)的用户的密码。无默认值。
边栏推荐
- Unity_平滑移动
- 嵌入式开发:使用FILL提高代码完整性
- [Deep learning] pix2pix GAN theory and code implementation
- MySQL Notes-06 Basic SQL Operations
- Week 8 Deep learning for object detection
- STM32WB55的FUS更新及协议栈固件烧写方法
- Overview of Security Analysis Technology for Smart Home Devices
- What are the benefits of enterprise data integration?How do different industries solve the problem of data access?
- 钢材行业供应链协同管理系统提升企业上下游密切度,精细化企业内部管理
- 新起之秀 DPU,正在掀起数据中心变革!
猜你喜欢

DSPE-PEG-Azide, DSPE-PEG-N3, phospholipid-polyethylene glycol-azide can react directly with DBCO

Unity2D_背景粒子效果

基于SSM实现手机销售商城系统

小满nestjs(第四章 前置知识装饰器-实现一个GET请求)

UE4_定序器控制蓝图对象

明明加了唯一索引,为什么还是产生重复数据?

痛击面试官 CURD系统也能做出技术含量

【kali-权限提升】(4.2.6)社会工程学工具包(中):中间人攻击工具Ettercap

真香|持一建证书央企可破格录取

《评估、创建和使用知识图谱的限制》2022最新230页博士论文,根特大学
随机推荐
大健康产业商业供应链管理系统数字化提升产业链运作效率推动供应链标准化建设
Unity_物体自转
Unity2D_线框材质
php安装make出现“collect2:error:ldreturned1exitstatus
力扣383-赎金信——哈希映射数组法
Ankerui supports Ethernet communication, profibus communication embedded energy meter APM guiding technical requirements-Susie Week
Week 8 Deep learning for object detection
Laravel DB批量更新的方法
2.2 监督学习-1
Cholesterol-PEG-Thiol, CLS-PEG-SH, Cholesterol-PEG-Sulfhydryl for improved solubility
Unity2D_背景粒子效果
【深度学习】pix2pix GAN理论及代码实现
CMake installation upgrade higher version
MYSQL记录、自用
Transformer如何用于3D视觉?阿联酋MBZUAI最新《3D视觉Transformers处理》综述,涵盖100+种方法
如何在WPF中设置Grid ColumnDefinitions的样式
3D感知(二):单目3D物体检测
不经意传输协议OT
Characteristics and Development Prospects of Korea's Cyber Security System
智能家居设备安全分析技术综述