美文网首页
【MariaDB】Docker安装MariaDB,主从复制

【MariaDB】Docker安装MariaDB,主从复制

作者: 小伙纸2022 | 来源:发表于2022-11-14 15:15 被阅读0次

What is MariaDB?

MariaDB 是一个开源、社区开发的 SQL 数据库服务器,由于其企业特性、灵活性以及与领先科技公司的协作,在全球范围内广泛使用。

持久化数据库并设置允许空密码

docker run \
    -e ALLOW_EMPTY_PASSWORD=yes \
    -v /path/to/mariadb-persistence:/bitnami/mariadb \
    bitnami/mariadb:latest

首次运行时设置 root 密码

可以使用以下环境变量通过 Bitnami MariaDB Docker 映像轻松设置 root 用户和密码:

  • MARIADB_ROOT_USER: 数据库管理员用户。默认root。
  • MARIADB_ROOT_PASSWORD: 数据库管理员用户密码。
docker run --name mariadb -e MARIADB_ROOT_PASSWORD=password123 bitnami/mariadb:latest

首次运行时创建数据库

通过第一次运行image时,通过Mariadb_database环境变量传递数据库。如果应用程序要求数据库已经存在,这将很有用,否则将不得不使用MySQL客户端手动创建数据库。

docker run --name mariadb \
    -e ALLOW_EMPTY_PASSWORD=yes \
    -e MARIADB_DATABASE=my_database \
    bitnami/mariadb:latest

设置复制集群

在复制集群中,您可以拥有一个主服务器和零个或多个从服务器。启用复制后,主节点处于读写模式,而从节点处于只读模式。为了获得最佳性能,建议限制对从属设备的读取。

  1. 创建复制主机
 docker run --name mariadb-master \
  -e MARIADB_ROOT_PASSWORD=master_root_password \
  -e MARIADB_REPLICATION_MODE=master \
  -e MARIADB_REPLICATION_USER=my_repl_user \
  -e MARIADB_REPLICATION_PASSWORD=my_repl_password \
  -e MARIADB_USER=my_user \
  -e MARIADB_PASSWORD=my_password \
  -e MARIADB_DATABASE=my_database \
  bitnami/mariadb:latest
  1. 创建复制从属
 docker run --name mariadb-slave --link mariadb-master:master \
  -e MARIADB_REPLICATION_MODE=slave \
  -e MARIADB_REPLICATION_USER=my_repl_user \
  -e MARIADB_REPLICATION_PASSWORD=my_repl_password \
  -e MARIADB_MASTER_HOST=master \
  -e MARIADB_MASTER_ROOT_PASSWORD=master_root_password \
  bitnami/mariadb:latest

在已经启动并运行了一个两节点 MariaDB 主/从复制集群。可以通过添加/删除从属服务器来扩展集群,而不会导致任何停机。

或者使用DockerCompose安装:

version: '2'

services:
  mariadb-master:
    image: 'bitnami/mariadb:latest'
    ports:
      - '3306'
    volumes:
      - /path/to/mariadb-persistence:/bitnami/mariadb
    environment:
      - MARIADB_REPLICATION_MODE=master
      - MARIADB_REPLICATION_USER=repl_user
      - MARIADB_REPLICATION_PASSWORD=repl_password
      - MARIADB_ROOT_PASSWORD=master_root_password
      - MARIADB_USER=my_user
      - MARIADB_PASSWORD=my_password
      - MARIADB_DATABASE=my_database
  mariadb-slave:
    image: 'bitnami/mariadb:latest'
    ports:
      - '3306'
    depends_on:
      - mariadb-master
    environment:
      - MARIADB_REPLICATION_MODE=slave
      - MARIADB_REPLICATION_USER=repl_user
      - MARIADB_REPLICATION_PASSWORD=repl_password
      - MARIADB_MASTER_HOST=mariadb-master
      - MARIADB_MASTER_PORT_NUMBER=3306
      - MARIADB_MASTER_ROOT_PASSWORD=master_root_password

使用以下方法缩放从属设备的数量:

docker-compose up --detach --scale mariadb-master=1 --scale mariadb-slave=3

相关文章

网友评论

      本文标题:【MariaDB】Docker安装MariaDB,主从复制

      本文链接:https://www.haomeiwen.com/subject/drmlxdtx.html