当前位置:网站首页>基于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:复制主服务器上有权访问(从属参数)的用户的密码。无默认值。
边栏推荐
猜你喜欢

基于Web的疫情隔离区订餐系统

获取数组最后一项别再用array.length-1了

tki-tree 树组件控制默认展开第几层数据

MySQL, which is asked on both sides of the byte, almost didn't answer well

Simulation of Water Temperature Control System Based on Fuzzy PID Controller

Cholesterol-PEG-Thiol,CLS-PEG-SH,胆固醇-聚乙二醇-巯基用于改善溶解度

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

漏洞复现-redis未授权getshell

poj 3070 Fibonacci(简单矩阵连乘)

Unity2D_线框材质
随机推荐
Reverse Analysis of Unknown Cryptographic Protocol Based on Network Data Flow
Don't use array.length-1 to get the last item of the array
渗透测试-对新型内存马webshell的研究
php安装make出现“collect2:error:ldreturned1exitstatus
大健康产业商业供应链管理系统数字化提升产业链运作效率推动供应链标准化建设
How to deal with keys when Redis is large?
【二叉树】树的子结构
Acrel5000web能耗系统在某学院的应用-Susie 周
基于网络数据流的未知密码协议逆向分析
不经意传输协议OT
Prometheus Operator 自定义监控添加redis explorer
看完这波 Android 面试题;助你斩获心中 offer
基于Web的疫情隔离区订餐系统
DSPE-PEG-Azide,DSPE-PEG-N3,磷脂-聚乙二醇-叠氮可和DBCO直接反应
韩国网络安全体系特征与发展前景
laravel报错:TokenMismatchException in VerifyCsrfToken.php line 68:
buuctf (Adventure 2)
数据分散情况的统计图-盒须图
中英文说明书丨Abbkine细胞迁移分析试剂盒
一千以内的水仙花数