Siempre puedes ejecutar find en una terminal.
find / -name my.cnf
No hay un comando MySQL interno para rastrear esto, es un poco demasiado abstracto. El archivo puede estar en 5 (¿o más?) ubicaciones, y todas serían válidas porque se cargan en cascada.
- /etc/my.cnf
- /etc/mysql/my.cnf
- $MYSQL_HOME/my.cnf
- [directorio de datos]/my.cnf
- ~/.mi.cnf
Esas son las ubicaciones predeterminadas que MySQL mira. Si encuentra más de uno, cargará cada uno de ellos y los valores se anularán entre sí (en el orden indicado, creo). Además, el --defaults-file
el parámetro puede anular todo, así que... básicamente, es un gran dolor en el trasero.
Pero gracias a que es tan confuso, es muy probable que solo esté en /etc/my.cnf.
(Si solo desea ver los valores:SHOW VARIABLES
, pero necesitará los permisos para hacerlo).
Ejecutar mysql --help
y verás:
Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
mysql --help | grep /my.cnf | xargs ls
te dirá dónde my.cnf
se encuentra en Mac/Linux
ls: cannot access '/etc/my.cnf': No such file or directory
ls: cannot access '~/.my.cnf': No such file or directory
/etc/mysql/my.cnf
En este caso, está en /etc/mysql/my.cnf
ls: /etc/my.cnf: No such file or directory
ls: /etc/mysql/my.cnf: No such file or directory
ls: ~/.my.cnf: No such file or directory
/usr/local/etc/my.cnf
En este caso, está en /usr/local/etc/my.cnf
De hecho, puede "solicitar" a MySQL una lista de todas las ubicaciones donde busca my.cnf (o my.ini en Windows). Sin embargo, no es una consulta SQL. Más bien, ejecute:
$ mysqladmin --help
o, anterior a 5.7:
$ mysqld --help --verbose
En las primeras líneas encontrará un mensaje con una lista de todas las ubicaciones de my.cnf que busca. En mi máquina es:
Default options are read from the following files in the given order:
/etc/my.cnf
/etc/mysql/my.cnf
/usr/etc/my.cnf
~/.my.cnf
O, en Windows:
Default options are read from the following files in the given order:
C:\Windows\my.ini
C:\Windows\my.cnf
C:\my.ini
C:\my.cnf
C:\Program Files\MySQL\MySQL Server 5.5\my.ini
C:\Program Files\MySQL\MySQL Server 5.5\my.cnf
Sin embargo, tenga en cuenta que podría darse el caso de que no haya un archivo my.cnf en ninguna de estas ubicaciones . Por lo tanto, puede crear el archivo usted mismo:use uno de los archivos de configuración de muestra proporcionados con la distribución de MySQL (en Linux, consulte /usr/share/mysql/*.cnf
archivos y use el que sea apropiado para usted - cópielo en /etc/my.cnf
y luego modifíquelo según sea necesario).
Además, tenga en cuenta que también hay una opción de línea de comando --defaults-file
que puede definir una ruta personalizada al archivo my.cnf o my.ini. Por ejemplo, este es el caso de MySQL 5.5 en Windows:apunta a un archivo my.ini en el directorio de datos, que normalmente no aparece con mysqld --help --verbose
. En Windows:consulte las propiedades del servicio para averiguar si este es su caso.
Finalmente, consulte https://dev.mysql.com/doc/refman/8.0/en/option-files.html; se describe allí con más detalles.