GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo encuentro la ubicación MySQL my.cnf?

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.


Linux
  1. Cómo encontrar un archivo en Linux

  2. ¿Cómo encuentro la ubicación del ejecutable en C?

  3. cómo encontrar el propietario de un archivo o directorio en python

  4. ¿Cuál es la ubicación correcta del archivo mysql.sock en Linux?

  5. Cómo encontrar el archivo .pid para un proceso dado

¿Cómo almacenar la salida de SHOW PROCESSLIST en un archivo en MySQL?

¿Cómo encontrar el proceso con el máximo de descriptores de archivo?

Cómo encontrar la ubicación de sus servidores con Traceroute y WHOIS

Cómo encontrar archivos con docenas de criterios con el comando Bash Find

Cómo combinar el comando 'tar' con 'buscar'

¿Cómo puedo encontrar el archivo más antiguo en un árbol de directorios?