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
设置复制集群
在复制集群中,您可以拥有一个主服务器和零个或多个从服务器。启用复制后,主节点处于读写模式,而从节点处于只读模式。为了获得最佳性能,建议限制对从属设备的读取。
- 创建复制主机
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
- 创建复制从属
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
网友评论