GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menemukan lokasi MySQL my.cnf

Anda selalu dapat menjalankan find di terminal.

find / -name my.cnf

Tidak ada perintah MySQL internal untuk melacak ini, agak terlalu abstrak. File tersebut mungkin berada di 5 (atau lebih?) lokasi, dan semuanya akan valid karena memuat kaskade.

  • /etc/my.cnf
  • /etc/mysql/my.cnf
  • $MYSQL_HOME/my.cnf
  • [datadir]/my.cnf
  • ~/.my.cnf

Itu adalah lokasi default yang dilihat MySQL. Jika menemukan lebih dari satu, itu akan memuat masing-masing &nilai menimpa satu sama lain (menurut saya dalam urutan yang terdaftar). Juga, --defaults-file parameter dapat mengesampingkan semuanya, jadi... pada dasarnya, ini sangat merepotkan.

Namun karena sangat membingungkan, kemungkinan besar itu hanya ada di /etc/my.cnf.

(Jika Anda hanya ingin melihat nilainya:SHOW VARIABLES , tetapi Anda memerlukan izin untuk melakukannya.)


Jalankan mysql --help dan Anda akan melihat:

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

akan memberi tahu Anda di mana my.cnf terletak di 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

Dalam hal ini, ada di /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

Dalam hal ini, ada di /usr/local/etc/my.cnf


Anda sebenarnya dapat "meminta" MySQL untuk daftar semua lokasi tempat ia mencari my.cnf (atau my.ini di Windows). Ini bukan kueri SQL. Sebaliknya, jalankan:

$ mysqladmin --help

atau, sebelum 5.7:

$ mysqld --help --verbose

Di baris pertama Anda akan menemukan pesan dengan daftar semua lokasi my.cnf yang dicari. Di mesin saya itu adalah:

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

Atau, di 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

Namun perhatikan, bahwa mungkin tidak ada file my.cnf di salah satu lokasi ini . Jadi, Anda dapat membuat file sendiri - gunakan salah satu file konfigurasi sampel yang disediakan dengan distribusi MySQL (di Linux - lihat /usr/share/mysql/*.cnf file dan gunakan mana yang sesuai untuk Anda - salin ke /etc/my.cnf lalu ubah seperlunya).

Perhatikan juga bahwa ada juga opsi baris perintah --defaults-file yang dapat menentukan jalur khusus ke file my.cnf atau my.ini. Misalnya, ini adalah kasus untuk MySQL 5.5 di Windows - ini menunjuk ke file my.ini di direktori data, yang biasanya tidak terdaftar dengan mysqld --help --verbose . Di Windows - lihat properti layanan untuk mengetahui apakah ini kasus Anda.

Terakhir, periksa https://dev.mysql.com/doc/refman/8.0/en/option-files.html - dijelaskan di sana dengan lebih detail.


Linux
  1. Bagaimana cara mengubah batas waktu habis MySQL di Linux?

  2. Bagaimana cara menemukan lokasi yang dapat dieksekusi di C?

  3. cara menemukan pemilik file atau direktori dengan python

  1. Bagaimana menemukan pengelola file default?

  2. Cara menggabungkan perintah 'tar' dengan 'find'

  3. Cara menemukan file .pid untuk proses tertentu

  1. Bagaimana cara Menyimpan output SHOW PROCESSLIST ke dalam file di MySQL?

  2. Bagaimana Cara Mendapatkan Jumlah Md5 Dari Isi Direktori Sebagai Satu Jumlah?

  3. Bagaimana Menemukan Jenis File Img Dan Memasangnya?