
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Mariadb replication settings
See https://mariadb.com/kb/en/mariadb-license/
It's just free. (Public Domain)
See https://github.com/yidigun/mariadb-replication
$LANG and $TZ envoringment variables.11.5.2-noble, 11.5.2, 11.5, 11, latest10.11.9-jammy, 10.11.9, 10.11, 10 (not supported)10.7-focal, 10.7 (not supported)none | master | slave)PASSWORD_SECRET (default: repl)3306)passwords)Make password config file using shell script syntax.
Format: USERNAME_PASSWORD="Password in plain text"
passwords.sh
shellROOT_PASSWORD="s3cret12#$" # database admin REPL_PASSWORD="cp1fly*" # replication user
docker-compose.yaml
yaml... services: mariadb: ... env: - REPL_USERNAME=repl - PASSWORD_SECRET=passwords ... secrets: passwords: - file: ${HOME}/passwords.sh
See https://mariadb.com/kb/en/setting-up-a-replication-slave-with-mariabackup/ for more details.
1) passwords.sh
shellROOT_PASSWORD="s3cret12#$" # database admin REPL_PASSWORD="cp1fly*" # replication user
2) docker-compose.yaml
shellversion: "3.3" services: mariadb-master: image: yidigun/mariadb-replication:10.7 restart: unless-stopped hostname: ${HOSTNAME} ports: - "3306:3306/tcp" environment: - TZ=Asia/Seoul - LANG=ko_KR.UTF-8 - REPL_MODE=master - REPL_SERVER_ID=1 - REPL_USERNAME=repl volumes: - /data/mariadb/data:/var/lib/mysql - /data/mariadb/log:/var/log/mysql - /data/mariadb/run:/run/mysqld - /data/mariadb/snapshots:/snapshots secrets: - passwords secrets: passwords: file: /path/to/passwords.sh
3) Start master database
shell[MASTER]$ docker compose up -d
Start service and check master database work properly.
First, make full backup of master server using mariabackup.
Following command will create backup copy in /snapshots/snapshot-%Y%m%d.
(eg: /snapshots/snapshot-20220210)
shell[MASTER]$ docker exec mariadb-master backup-master --no-lock
And move the backup files to slave server's /var/lib/mysql volume by any means.
shell[MASTER]$ (cd /data/mariadb/snapshots/snapshot-`date +%Y%m%d`; tar cf - *) | \ ssh slave-server ' \ sudo mkdir -p /data/mariadb/data; \ (cd /data/mariadb/data; sudo tar xf -) && \ sudo chown -R 999:999 /data/mariadb/data'
1) passwords.sh
shellREPL_PASSWORD="cp1fly*" # replication user
2) docker-compose.yaml
Note: REPL_SERVER_ID value must be unique in cluster.
shellversion: "3.3" services: mariadb-slave: image: yidigun/mariadb-replication:10.7 restart: unless-stopped hostname: ${HOSTNAME} ports: - "3306:3306/tcp" environment: - TZ=Asia/Seoul - LANG=ko_KR.UTF-8 - REPL_MODE=slave - REPL_SERVER_ID=2 - REPL_USERNAME=repl - REPL_MASTER_HOST=mariadb-master.example.com - REPL_MASTER_PORT=3306 volumes: - /data/mariadb/data:/var/lib/mysql - /data/mariadb/log:/var/log/mysql - /data/mariadb/run:/run/mysqld secrets: - passwords secrets: passwords: file: /path/to/passwords.sh
3) Start slave database
shell[SLAVE]$ docker compose up -d
4) Start replication
Replication position will retrieved from /var/lib/mysql/xtrabackup_binlog_info.
This file was generated when mariadb-backup (former mariabackup) make backup copy.
shell[SLAVE]$ docker exec mariadb-slave start-slave
shell[MASTER]$ docker exec mariadb-master show-status [SLAVE]$ docker exec mariadb-slave show-status
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务