MySQL 自定义目录规范
dbbot 支持通过 advanced_config.yml 自定义 MySQL 目录结构。
1. 目录配置入口
文件路径:
/usr/local/dbbot/mysql_ansible/playbooks/advanced_config.yml
典型目录参数示例:
mycnf_dir: "{{ mysql_data_dir_base }}/{{ mysql_port }}/etc"
datadir: "{{ mysql_data_dir_base }}/{{ mysql_port }}/data"
tmpdir: "{{ mysql_data_dir_base }}/{{ mysql_port }}/tmp"
binlog_dir: "{{ mysql_data_dir_base }}/{{ mysql_port }}/log"
relaylog_dir: "{{ mysql_data_dir_base }}/{{ mysql_port }}/log"
redolog_dir: "{{ datadir }}"
socket_dir: "{{ datadir }}"
mysqlx_socket_dir: "{{ datadir }}"
slowlog_dir: "{{ mysql_data_dir_base }}/{{ mysql_port }}/log"
errlog_dir: "{{ mysql_data_dir_base }}/{{ mysql_port }}/log"

2. 修改日志文件名
如果要修改日志文件名(不仅是目录),需要改模板文件:
/usr/local/dbbot/mysql_ansible/roles/mysql_server/templates/8.4/my.cnf.j2
示例:
slow_query_log_file = {{ slowlog_dir }}/slow.log
可改为:slow_query.log。
3. 设计说明
- 目录需要由 dbbot 创建并处理权限。
- 物理文件通常由 MySQL 初始化时自行创建。
- 默认布局会把单实例常用目录收敛到
{{ mysql_data_dir_base }}/{{ mysql_port }}/...,便于按实例观察和清理。 - 建议先在测试环境验证,再用于生产。