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