栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

基于Docker构建MySQL主从复制数据库

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Docker构建MySQL主从复制数据库

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:复制主服务器上有权访问(从属参数)的用户的密码。无默认值。
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1039028.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号