Puoi sempre eseguire find in un terminale.
find / -name my.cnf
Non esiste un comando MySQL interno per rintracciarlo, è un po' troppo astratto. Il file potrebbe trovarsi in 5 (o più?) posizioni e sarebbero tutte valide perché caricano a cascata.
- /etc/my.cnf
- /etc/mysql/my.cnf
- $MYSQL_HOME/mio.cnf
- [datadir]/mio.cnf
- ~/.my.cnf
Queste sono le posizioni predefinite che MySQL esamina. Se ne trova più di uno, caricherà ciascuno di essi e i valori si sovrascriveranno a vicenda (nell'ordine elencato, credo). Inoltre, il --defaults-file
parametro può sovrascrivere l'intera cosa, quindi... fondamentalmente, è un enorme rompicoglioni.
Ma grazie al fatto che è così confuso, c'è una buona possibilità che sia solo in /etc/my.cnf.
(Se vuoi solo vedere i valori:SHOW VARIABLES
, ma per farlo avrai bisogno delle autorizzazioni.)
Esegui mysql --help
e vedrai:
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
ti dirà dove my.cnf
si trova su 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
In questo caso, è in /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
In questo caso, è in /usr/local/etc/my.cnf
Puoi effettivamente "richiedere" a MySQL un elenco di tutte le posizioni in cui cerca my.cnf (o my.ini su Windows). Tuttavia non è una query SQL. Piuttosto, esegui:
$ mysqladmin --help
o, precedente 5.7:
$ mysqld --help --verbose
Nelle primissime righe troverai un messaggio con un elenco di tutte le posizioni my.cnf che cerca. Sulla mia macchina è:
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
Oppure, su 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
Tieni presente, tuttavia, che potrebbe accadere che non ci sia alcun file my.cnf in nessuna di queste posizioni . Quindi, puoi creare il file da solo - usa uno dei file di configurazione di esempio forniti con la distribuzione MySQL (su Linux - vedi /usr/share/mysql/*.cnf
file e usa quello che è appropriato per te - copialo in /etc/my.cnf
e quindi modificare secondo necessità).
Inoltre, tieni presente che c'è anche un'opzione della riga di comando --defaults-file
che può definire il percorso personalizzato per il file my.cnf o my.ini. Ad esempio, questo è il caso di MySQL 5.5 su Windows:punta a un file my.ini nella directory dei dati, che normalmente non è elencato con mysqld --help --verbose
. Su Windows:consulta le proprietà del servizio per scoprire se questo è il tuo caso.
Infine, controlla https://dev.mysql.com/doc/refman/8.0/en/option-files.html - è descritto lì in modo più dettagliato.