
notz/mariadb-galeralatest (latest/Dockerfile)该镜像用于快速部署 MariaDB Galera 集群,包含 garbd(Galera Arbitrator Daemon),支持数据库的多节点同步复制,提供高可用性和数据一致性。适用于需要构建可靠数据库集群的场景。
当运行镜像未指定命令时,入口程序会监听 *** 端口等待命令。可通过以下方式发送命令:
bashecho "command here" | nc <容器IP> <端口>
为每个节点启动容器,挂载必要的卷和环境变量:
bashdocker run \ -v /path/to/my.cnf:/etc/mysql/my.cnf \ -v /path/to/mariadb:/var/lib/mysql \ -v /path/to/certs/:/etc/ssl/mysql:ro \ -e MYSQL_ALLOW_EMPTY_PASSWORD=true \ diegomarangoni/mariadb-galera
将所有容器的 IP 拼接为 gcomm:// 格式的字符串,例如:
gcomm://10.0.0.1,10.0.0.2,10.0.0.3
bashecho "mysqld --wsrep-new-cluster --wsrep-cluster-address=gcomm://10.0.0.1,10.0.0.2,10.0.0.3" | nc 10.0.0.1 ***
依次启动其他节点,每次一个:
bashecho "mysqld --wsrep-cluster-address=gcomm://10.0.0.1,10.0.0.2,10.0.0.3" | nc 10.0.0.2 *** echo "mysqld --wsrep-cluster-address=gcomm://10.0.0.1,10.0.0.2,10.0.0.3" | nc 10.0.0.3 ***
完成以上步骤后,MariaDB Galera 集群即可正常运行。
可生成自签名证书,将证书目录挂载到容器内,并在 /etc/mysql/my.cnf 中配置 [sst] 部分的相关设置。
[mysqld] datadir=/var/lib/mysql socket=/var/run/mysqld/mysqld.sock user=mysql binlog-format=ROW default-storage-engine=InnoDB innodb-autoinc-lock-mode=2 innodb-flush-log-at-trx-commit=0 innodb-buffer-pool-size=122M innodb-doublewrite=1 innodb-flush-method=O_DIRECT wsrep-provider=/usr/lib/galera/libgalera_smm.so wsrep-cluster-name=my_super_cluster wsrep-sst-method=rsync query-cache-size=524288 log-error=/dev/stderr [mysql_safe] log-error=/dev/stderr pid-file=/var/run/mysqld/mysqld.pid [sst] tca=/etc/ssl/mysql/ca.pem tcert=/etc/ssl/mysql/server-cert.pem tkey=/etc/ssl/mysql/server-key.pem

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