GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovo la posizione MySQL my.cnf

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.


Linux
  1. Come trovo la posizione dell'eseguibile in C?

  2. come trovare il proprietario di un file o di una directory in python

  3. Come scoprire la posizione del file di configurazione MySQL attualmente utilizzato in Linux

  4. Qual è la posizione corretta del file mysql.sock su Linux

  5. Come posso trovare il file più vecchio in un albero di directory

Come trovare il file più vecchio in un albero di directory in Linux

Come ottenere la somma Md5 dei contenuti di una directory come una somma?

Come trovare il processo con il numero massimo di descrittori di file?

Come trovare la posizione dei tuoi server con Traceroute e WHOIS

Come modificare il limite di timeout di MySQL in Linux?

Come trovare file con dozzine di criteri con il comando Trova Bash