在 Ansible playbook 从MariaDB 10.5.4
到运行了一次小更新后MariaDB 10.5.5
,自定义配置文件得到了默默被默认配置覆盖,导致服务器拒绝连接,因为有效的自定义配置不再存在。
我们的自定义配置文件存储在/etc/mysql/my.cnf
我的问题是:最佳实践存储自定义配置,以便更新发布后再也不会被默认版本取代
是吗/etc/mysql/conf.d/
?
发行版:使用官方存储库安装的 Debian 10:https://downloads.mariadb.com/MariaDB/mariadb-10.5/repo/debian
答案1
是的,您应该保留默认配置,并将您的配置片段放在/etc/my.cnf.d/
(MariaDB 上游使用的位置)的文件中或 Debian 的非标准位置中/etc/mysql/mariadb.conf.d/
,或者您的特定 MariaDB 包所在的目录中。
答案2
我建议创建一个 ansible patches 角色,它将存储您定制的 my.cnf 文件,如果它不匹配,内容将被更新。
我们的最佳做法是在每次更新完成后运行补丁程序,以确保所有自定义设置都已到位。这种做法为我们节省了大量时间。