O seguinte comando fornece a localização dos arquivos lidos em ordem de precedência para uma instalação padrão do Mysql no Ubuntu 16:
mysqld --verbose --help | grep -A 1 "Default options"
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
No entanto, o primeiro e terceiro arquivos não existem; o segundo arquivo contém o seguinte:
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
Se eu seguir os diretórios de inclusão, somente o segundo contém um mysqld.cnf
que realmente tem algumas linhas de dados de configuração, mas as configurações nele contidas parecem não ter nada a ver com como o Mysql é realmente configurado (por exemplo, configurações para o modo estrito) e nem vincula a outros arquivos via includedir.
O Mysql 5.7 é um pouco diferente das versões anteriores. Se houver outros arquivos que contenham configurações para alterar, onde ele estaria localizado? Se não, então a melhor prática é simplesmente criar um /etc/my.cnf ou /etc/mysql/my.cnf e sobrescrever o mysqld.cnf? Adicione configurações adicionais através de outro arquivo de configuração no diretório /etc/mysql/mysql.conf.d/?