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

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 初始化时自行创建。
- 建议先在测试环境验证,再用于生产。