Najít můžete vždy spustit v terminálu.
find / -name my.cnf
Neexistuje žádný interní příkaz MySQL, který by to sledoval, je to trochu příliš abstraktní. Soubor může být v 5 (nebo více?) umístěních a všechna by byla platná, protože se načítají kaskádovitě.
- /etc/my.cnf
- /etc/mysql/my.cnf
- $MYSQL_HOME/my.cnf
- [datadir]/my.cnf
- ~/.my.cnf
Toto jsou výchozí umístění, na která se MySQL dívá. Pokud najde více než jednu, načte každou z nich a hodnoty se navzájem přepíší (myslím, že v uvedeném pořadí). Také --defaults-file
parametr může přepsat celou věc, takže... v podstatě je to obrovská bolest v zadku.
Ale díky tomu, že je to tak matoucí, je velká šance, že je to právě v /etc/my.cnf.
(Pokud chcete pouze vidět hodnoty:SHOW VARIABLES
, ale budete k tomu potřebovat oprávnění.)
Spusťte mysql --help
a uvidíte:
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
vám řekne, kde je my.cnf
je umístěn na 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
V tomto případě je v /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
V tomto případě je v /usr/local/etc/my.cnf
Ve skutečnosti můžete MySQL „požádat“ o seznam všech umístění, kde hledá my.cnf (nebo my.ini ve Windows). Nejedná se však o SQL dotaz. Raději proveďte:
$ mysqladmin --help
nebo před 5.7:
$ mysqld --help --verbose
Hned na prvních řádcích najdete zprávu se seznamem všech míst my.cnf, která hledá. Na mém počítači je:
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
Nebo v systému 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
Upozorňujeme však, že může se stát, že v žádném z těchto umístění není soubor my.cnf . Soubor si tedy můžete vytvořit sami – použijte jeden z ukázkových konfiguračních souborů dodávaných s distribucí MySQL (na Linuxu – viz /usr/share/mysql/*.cnf
soubory a použijte to, co je pro vás vhodné - zkopírujte jej do /etc/my.cnf
a poté upravte podle potřeby).
Všimněte si také, že existuje také možnost příkazového řádku --defaults-file
který může definovat vlastní cestu k souboru my.cnf nebo my.ini. To je například případ MySQL 5.5 ve Windows – ukazuje na soubor my.ini v datovém adresáři, který normálně není uveden s mysqld --help --verbose
. V systému Windows – podívejte se na vlastnosti služby a zjistěte, zda je to váš případ.
Nakonec se podívejte na https://dev.mysql.com/doc/refman/8.0/en/option-files.html – je to tam popsáno podrobněji.