bitnami/mariadb-galeraMariaDB Galera 是一个多主数据库集群解决方案,提供同步复制和高可用性。Bitnami MariaDB Galera 镜像是由 Bitnami 打包的容器化版本,旨在简化 MariaDB Galera 集群的部署和管理,适用于开发、测试及生产环境(注:生产环境建议使用 Bitnami Secure Images)。
MariaDB Galera 概述
商标说明:本软件列表由 Bitnami 打包,所提及的商标分属各自公司所有,使用这些商标并不意味着任何关联或背书。
consoledocker run --name mariadb-galera \ -e ALLOW_EMPTY_PASSWORD=yes \ bitnami/mariadb-galera:latest
警告:以上快速启动仅适用于开发环境。生产环境中应修改默认凭证,并参考 配置 部分进行安全部署。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,通过新的 Bitnami Secure Images 计划 提供精选的安全加固镜像:
这些变更旨在通过推广软件供应链完整性最佳实践和最新部署,提升所有 Bitnami 用户的安全态势。更多详情参见 Bitnami Secure Images 公告。
使用 Helm Chart 是在 Kubernetes 上部署 Bitnami 应用的最简单方式。详见 Bitnami MariaDB Galera Chart GitHub 仓库。
非 root 容器镜像增加了额外安全层,通常推荐用于生产环境。但由于以非 root 用户运行,特权操作通常受限。更多信息参见 Bitnami 非 root 容器文档。
注意:Debian 9 和 Oracle Linux 7 基础镜像已弃用,Bitnami 不再发布基于这些系统的新 Docker 镜像。
Bitnami 标签策略及滚动标签与固定标签的区别详见 文档。各标签对应关系可查看分支文件夹中的 tags-info.yaml 文件(如 bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml)。
可通过关注 bitnami/containers GitHub 仓库 获取项目更新。
推荐从 Docker Hub 仓库 拉取预构建镜像:
consoledocker pull bitnami/mariadb-galera:latest
如需指定版本,可拉取带版本标签的镜像。可用版本列表 参见 Docker Hub。
consoledocker pull bitnami/mariadb-galera:[TAG]
也可手动构建镜像:
consolegit clone [***] cd bitnami/APP/VERSION/OPERATING-SYSTEM # 替换 APP、VERSION、OPERATING-SYSTEM 为实际值 docker build -t bitnami/APP:latest .
若删除容器,所有数据将丢失。为避免数据丢失,需挂载持久化卷至 /bitnami/mariadb 路径。挂载空目录时,首次运行会自动初始化数据。
consoledocker run \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/mariadb-persistence:/bitnami/mariadb \ bitnami/mariadb-galera:latest
修改仓库中的 docker-compose.yml:
yamlservices: mariadb: ... volumes: - /path/to/mariadb-persistence:/bitnami/mariadb ...
通过 Docker 容器网络,容器内的 MariaDB 服务可被其他应用容器访问,同一网络中的容器可通过容器名作为主机名通信。
consoledocker network create app-tier --driver bridge
consoledocker run -d --name mariadb-galera \ -e ALLOW_EMPTY_PASSWORD=yes \ --network app-tier \ bitnami/mariadb-galera:latest
consoledocker run -it --rm \ --network app-tier \ bitnami/mariadb-galera:latest mysql -h mariadb-galera -u root
以下示例定义 app-tier 桥接网络,假设应用服务名为 myapp:
yamlversion: '2' networks: app-tier: driver: bridge services: mariadb-galera: image: bitnami/mariadb-galera:latest environment: - ALLOW_EMPTY_PASSWORD=yes networks: - app-tier myapp: image: YOUR_APPLICATION_IMAGE # 替换为实际应用镜像 networks: - app-tier
重要:
- 需将
YOUR_APPLICATION_IMAGE替换为实际应用镜像- 应用容器中使用主机名
mariadb-galera连接数据库
启动容器:
consoledocker-compose up -d
| 变量名 | 描述 | 默认值 |
|---|---|---|
ALLOW_EMPTY_PASSWORD | 允许空密码访问 MariaDB Galera | no |
MARIADB_AUTHENTICATION_PLUGIN | 首次初始化时配置的认证插件 | nil |
MARIADB_ROOT_USER | 数据库 root 用户 | root |
MARIADB_ROOT_PASSWORD | root 用户密码 | nil |
MARIADB_USER | 首次初始化时创建的数据库用户 | nil |
MARIADB_PASSWORD | 自定义数据库用户密码 | nil |
MARIADB_DATABASE | 首次初始化时创建的数据库 | nil |
MARIADB_MASTER_HOST | 主节点地址 | nil |
MARIADB_MASTER_PORT_NUMBER | 主节点端口 | 3306 |
MARIADB_MASTER_ROOT_USER | 主节点 root 用户 | root |
MARIADB_MASTER_ROOT_PASSWORD | 主节点 root 用户密码 | nil |
MARIADB_MASTER_DELAY | 复制延迟(秒) | 0 |
MARIADB_REPLICATION_USER | 复制用户 | monitor |
MARIADB_REPLICATION_PASSWORD | 复制用户密码 | monitor |
MARIADB_PORT_NUMBER | 数据库服务端口 | nil |
MARIADB_REPLICATION_MODE | 复制模式 | nil |
MARIADB_REPLICATION_SLAVE_DUMP | 是否从主节点 dump 数据并更新从节点 | false |
MARIADB_EXTRA_FLAGS | 启动数据库时附加的参数 | nil |
MARIADB_INIT_SLEEP_TIME | 初始化配置操作等待睡眠时间(秒) | nil |
MARIADB_CHARACTER_SET | 字符集 | nil |
MARIADB_COLLATE | 排序规则 | nil |
MARIADB_BIND_ADDRESS | 绑定地址 | nil |
MARIADB_SQL_MODE | 启用的 SQL 模式 | nil |
MARIADB_UPGRADE | 升级选项 | AUTO |
MARIADB_SKIP_TEST_DB | 是否跳过创建 test 数据库 | no |
MARIADB_CLIENT_ENABLE_SSL | 是否强制客户端 SSL 连接 | no |
MARIADB_CLIENT_SSL_CA_FILE | 客户端 SSL CA 证书路径 | nil |
MARIADB_CLIENT_SSL_CERT_FILE | 客户端 SSL 证书路径 | nil |
MARIADB_CLIENT_SSL_KEY_FILE | 客户端 SSL 密钥路径 | nil |
MARIADB_CLIENT_EXTRA_FLAGS | mysql 客户端附加参数(用于依赖 CLI 的应用) | no |
MARIADB_STARTUP_WAIT_RETRIES | 数据库启动等待重试次数 | 300 |
MARIADB_STARTUP_WAIT_SLEEP_TIME | 重试间隔(秒) | 2 |
MARIADB_ENABLE_SLOW_QUERY | 是否启用慢查询日志 | 0 |
MARIADB_LONG_QUERY_TIME | 慢查询阈值(秒) | 10.0 |
MARIADB_GALERA_DEFAULT_NODE_NAME | 节点默认逻辑名称 | nil |
MARIADB_GALERA_DEFAULT_NODE_ADDRESS | 节点默认报告地址 | nil |
MARIADB_GALERA_DEFAULT_MARIABACKUP_PASSWORD | mariabackup 工具默认密码(用于 SST) | nil |
MARIADB_GALERA_CONF_DIR | 配置目录 | /opt/bitnami/mariadb/conf |
MARIADB_GALERA_MOUNTED_CONF_DIR | 自定义配置覆盖目录 | /bitnami/conf |
MARIADB_GALERA_FORCE_SAFETOBOOTSTRAP | 是否强制引导(即使节点标记为不安全) | nil |
MARIADB_GALERA_CLUSTER_BOOTSTRAP | 是否作为集群引导节点 | nil |
MARIADB_GALERA_CLUSTER_ADDRESS | 集群地址 | nil |
MARIADB_GALERA_CLUSTER_NAME | 集群名称 | $DB_GALERA_DEFAULT_CLUSTER_NAME |
MARIADB_GALERA_NODE_NAME | 节点逻辑名称(默认主机名) | nil |
MARIADB_GALERA_NODE_ADDRESS | 节点报告地址(默认 IP) | nil |
MARIADB_GALERA_SST_METHOD | 状态快照传输(SST)方法 | $DB_GALERA_DEFAULT_SST_METHOD |
MARIADB_GALERA_MARIABACKUP_USER | mariabackup 工具用户(用于 SST) | $DB_GALERA_DEFAULT_MARIABACKUP_USER |
MARIADB_GALERA_MARIABACKUP_PASSWORD | mariabackup 工具密码(用于 SST) | $DB_GALERA_DEFAULT_MARIABACKUP_PASSWORD |
MARIADB_ENABLE_LDAP | 是否启用 LDAP 认证 | no |
MARIADB_ENABLE_TLS | 是否启用 SSL/TLS | no |
MARIADB_TLS_CERT_FILE | SSL/TLS 证书路径 | nil |
MARIADB_TLS_KEY_FILE | SSL/TLS 密钥路径 | nil |
MARIADB_TLS_CA_FILE | SSL/TLS CA 证书路径 | nil |
| 变量名 | 描述 | 值 |
|---|---|---|
DB_FLAVOR | 数据库类型(有效值:mariadb 或 mysql) | mariadb |
DB_BASE_DIR | 基础目录 | ${BITNAMI_ROOT_DIR}/mariadb |
DB_VOLUME_DIR | 持久化文件目录 | ${BITNAMI_VOLUME_DIR}/mariadb |
DB_DATA_DIR | 数据文件目录 | ${DB_VOLUME_DIR}/data |
DB_BIN_DIR | 可执行文件目录 | ${DB_BASE_DIR}/bin |
DB_SBIN_DIR | 服务二进制文件目录 | ${DB_BASE_DIR}/sbin |
DB_CONF_DIR | 配置目录 | ${DB_BASE_DIR}/conf |
DB_DEFAULT_CONF_DIR | 默认配置目录 | ${DB_BASE_DIR}/conf.default |
DB_LOGS_DIR | 日志目录 | ${DB_BASE_DIR}/logs |
DB_TMP_DIR | 临时文件目录 | ${DB_BASE_DIR}/tmp |
DB_CONF_FILE | 主 |


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务