MySQL 目录结构和配置文件原理
本文面向首次使用 dbbot 的用户,帮助快速理解 mysql_ansible 的目录结构、配置入口和执行逻辑。
如果你正在查阅 dbbot 仓的总览结构,请先看:dbbot 仓目录结构与组件说明。
1. 顶层目录
典型安装路径:
/usr/local/dbbot/mysql_ansible
关键目录:
downloads/:数据库安装包目录。inventory/:目标主机清单。playbooks/:剧本与参数入口。roles/:具体任务实现。
2. mysql_ansible 结构
mysql_ansible/
├── downloads/
├── inventory/
│ └── hosts.ini
├── playbooks/
│ ├── common_config.yml
│ ├── advanced_config.yml
│ ├── single_node.yml
│ ├── master_slave.yml
│ ├── mha.yml
│ ├── mgr.yml
│ ├── backup_script.yml
│ ├── backup_script_8.4.yml
│ ├── restore_pitr_8.4.yml
│ ├── install_xtrabackup.yml
│ └── install_mysqlshell.yml
└── roles/
3. 配置文件职责
3.1 inventory/hosts.ini
用于定义目标主机和连接参数。默认测试环境可先写成:
[dbbot_mysql]
192.0.2.131 ansible_user=root ansible_ssh_pass="'<your_ssh_password>'"
192.0.2.132 ansible_user=root ansible_ssh_pass="'<your_ssh_password>'"
192.0.2.133 ansible_user=root ansible_ssh_pass="'<your_ssh_password>'"
3.2 playbooks/common_config.yml
通用参数入口,典型需调整项:
mysql_versionmysql_portmysql_data_dir_basemysql_admin_usermysql_admin_passwordfcs_allow_dbbot_default_passwd
说明:
- 开源默认密码遵循
Dbbot_<user>@8888/Dbbot_<linux_user>@9999规律,便于实验环境快速起库。 - 默认
fcs_allow_dbbot_default_passwd: false,因此如果仍使用这些公开默认密码,playbook 会在pre_tasks阶段直接拦截。 - 只有明确知道自己在做什么时,才建议在实验环境显式设置
fcs_allow_dbbot_default_passwd: true。
3.3 playbooks/vars/var_xxx.yml
剧本专有参数,用于覆盖通用参数,例如主从拓扑、MHA、MGR、备份恢复等专用字段。
3.4 playbooks/advanced_config.yml
高阶目录与路径定制入口,普通场景建议保持默认。
4. 执行前连通性检查
cd /usr/local/dbbot/mysql_ansible/playbooks
ansible dbbot_mysql -m ping
若全部返回 pong,可继续执行部署。
5. 运行原理(简化)
每个 Playbook 通常分三段:
pre_tasks:参数校验、确认提示。roles:核心部署逻辑。post_tasks:收尾与标记。

6. 实践建议
- 优先修改:
hosts.ini、common_config.yml、vars/var_xxx.yml。 - 高阶目录改造请先在测试环境验证。
- 对高危剧本务必确认目标主机范围。