正确的方法来在CentOS / RHEL上重写Mysql my.cnf?

上下文:我将Debian / Ubuntu的开源服务器软件(并编写相关文档)移植到CentOS / RHEL。

为了使软件正常运行,我需要在Mysqlconfiguration中添加十几个特定参数(例如:增加max_allowed_packet )。

从Debian的angular度来看,我知道我可以通过向/etc/mysql.d添加一个文件来覆盖Mysql的my.cnf,比如/etc/mysql.d/my-software.cnf。

我的问题是 :如何在CentOS / RHEL上正确执行相同的操作?

其他信息

  • 我知道在哪里mysqld寻找它的configuration文件感谢https://dev.mysql.com/doc/refman/5.7/en/option-files.html 。 但是,对于CentOS,我不明白:
    • 如何不直接编辑/etc/my.cnf (可能不是软件包更新certificate)
    • 在哪里添加我的具体的Mysql参数
  • 阅读CentOS Mysql初始化脚本( /etc/init.d/mysql ),我已经看到一个/etc/sysconfig/mysqld来源,但我不知道如何添加configuration参数。
  • 我已经在ServerFault,StackOverflow和DBA.StackExchange上search了override / my.cnf / centos的组合,但没有发现任何相关的内容。
  • 我在“centos:6”Docker容器中进行所有testing
  • 该软件是Asqatasun https://github.com/Asqatasun/Asqatasun

使用strace -e open /some/prog/name ,例如strace -e open mysql将显示检查configuration指令的位置以及每个特定操作系统和程序版本的顺序。 不同的程序在configuration中使用不同的位置和部分。

至于重写,你只能确定CentOS / RHEL安装和使用/etc/my.cnf 。 如果正在移植的软件使用libmysqlclient,则可以采用覆盖MYSQL_HOME环境variables的path。 如果没有的话,在/etc/my.cnf的[client]部分添加!include /some/location.cnf仍然是一个选项。