MySQL OPS, PRODUCTIZED
dbbot 是一套面向 MySQL 生态的数据库自动化交付仓库,用来把部署、复制、备份、恢复、监控和下游分析接入沉淀成稳定、可重复、可审计的执行能力。当前仓库以 Ansible Playbook 为核心,覆盖 MySQL、ClickHouse 与 Prometheus/Grafana 相关场景,并作为后续 skills 与 AI agent 演进的执行底座。
- 官方网站:https://dbbot.ai
- 在线文档:https://dbbot.ai/docs/
- GitHub 仓库:https://github.com/fanderchan/dbbot
- Releases:https://github.com/fanderchan/dbbot/releases
- Issues:https://github.com/fanderchan/dbbot/issues
mysql_ansible:MySQL / Percona / GreatSQL 部署、复制、备份、恢复与常见运维剧本。clickhouse_ansible:ClickHouse 集群部署、备份、恢复与下游分析接入相关剧本。monitoring_prometheus_ansible:Prometheus、Grafana、Alertmanager 与 exporter 相关剧本。portable-ansible:绿色版 Ansible 运行时,方便在目标环境中直接执行剧本。bin/dbbotctl:根仓级生命周期 CLI,用于环境自检、支持矩阵查询、绿色版 Ansible 初始化、release 升级与回滚。
- 标准化执行:先把确定性动作固化成剧本,再降低环境差异和手工操作带来的波动。
- 单仓交付:MySQL、ClickHouse 和监控能力按同一版本节奏发布,便于追踪与验收。
- 面向下一阶段:当前先把底层执行面打磨稳定,后续再把高频动作沉淀为 skills,并接入 AI agent。
dbbot 不是一堆分散脚本的集合,而是一套围绕数据库交付与运维场景组织的统一执行面:
mysql_ansible负责核心 OLTP 交付。clickhouse_ansible负责下游 OLAP 场景。monitoring_prometheus_ansible负责监控接入。portable-ansible提供统一运行环境。
- 仓库内置的绿色版运行时当前基于
ansible-base 2.10.17。 - 该运行时现在由
make_ansible_portable构建,不再直接依赖上游ownport/portable-ansible成品包。 - 运行时目录是
portable-ansible/;控制机初始化脚本与sshpass-x64已迁移到libexec/dbbotctl/。 dbbotctl env setup支持 Linux 与 macOS 控制机注册绿色版 Ansible。macOS 控制机用于管理受支持的 Linux 目标机;MySQL 被部署目标机仍以各 Playbook 的 Linux 系统白名单为准。- macOS 控制机默认建议使用 SSH key。若 inventory 使用
ansible_ssh_pass,需额外安装 macOS 可用的sshpass;随仓sshpass-x64仅面向 Linux x86_64。 - macOS 控制机执行初始化时会把
passlib安装到portable-ansible/ansible/extras,用于支持 Ansible 的password_hash过滤器。
当前构建命令如下:
./build.sh \
--python /usr/bin/python3 \
--source ansible-base==2.10.17 \
--without-vault \
--without-yaml-c-extension \
--clean-output \
--extra-collection 'ansible.posix:==1.5.4'参数含义:
--python /usr/bin/python3:指定构建和自测时使用的控制机 Python。--source ansible-base==2.10.17:选择2.10代 Ansible 对应的官方ansible-base包版本。--without-vault:移除ansible-vault入口以及cryptography/cffi依赖链,减小体积;构建结果不再支持 vault。--without-yaml-c-extension:移除PyYAML的 C 扩展,回退到纯 Python YAML 实现。--clean-output:构建前清理同名旧产物。--extra-collection 'ansible.posix:==1.5.4':把固定版本的ansible.posixcollection 直接打进 bundle,避免运行时再临时安装。
如果你只使用其中一个子目录,也建议按完整发版包部署,避免子目录版本与文档不一致。
除另有说明外,本仓原创代码采用 Apache-2.0。
第三方组件与导入资产保留各自上游许可证,不并入仓库默认许可证。详情见:

