Untuk menginstal mysql homebrew, di mana my.cnf? Apakah itu menginstalnya?
293
Tidak ada my.cnf secara default. Dengan demikian, MySQL dimulai dengan semua pengaturan default. Jika Anda ingin membuat my.cnf Anda sendiri untuk mengesampingkan default apa pun, letakkan di /etc/my.cnf.
Juga, Anda dapat menjalankan mysql --help
dan melihat melalui itu untuk lokasi conf terdaftar.
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
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults Print the program argument list and exit.
--no-defaults Don't read default options from any option file.
--defaults-file=# Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
Seperti yang Anda lihat, ada juga beberapa opsi untuk mem-bypass file conf, atau menentukan file lain untuk dibaca ketika Anda memanggil mysql pada baris perintah.
ls $(brew --prefix mysql)/*.cnf
mysql --help | grep cnf
sebenarnya lebih mudah menemukan garis.Homebrew mysql berisi contoh file konfigurasi di folder file dukungan instalasi.
Jika Anda perlu mengubah pengaturan default, Anda dapat menggunakan salah satunya sebagai titik awal.
Seperti yang ditunjukkan oleh @rednaw, instalasi homebrew dari MySQL kemungkinan besar berada di dalam
/usr/local
jadi file my.cnf tidak boleh ditambahkan ke/etc
folder sistem , jadi saya telah mengubah perintah untuk menyalin file ke dalamnya/usr/local/etc
.Jika Anda menggunakan MariaDB daripada MySQL, gunakan yang berikut ini:
sumber
sudo cp $(brew --prefix mysql)/support-files/my-default.cnf /etc/my.cnf
/usr/local/
(yang merupakan default saya pikir), Anda juga dapat menempatkanmy.conf
di/usr/local/etc/
, yang tidak memerlukan hak akses root.brew --prefix mariadb
. Dalam distribusi MariaDBmy-default.cnf
tidak ada - jadi gunakanmy-small.cnf
. Coba inicp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf
Satu cara untuk mengetahuinya:
sumber
mdfind -name my.cnf
alih-alihlocate
perintah pada OSXlocate my.cnf
bekerja secara langsung. Saya tidak larisudo /usr/libexec/locate.updatedb
/usr/local/Cellar/mysql/8.0.16/.bottle/etc/my.cnf
dan/usr/local/etc/my.cnf
itulah yang saya dapatkandalam sistem saya itu
sebagai templat dan
bekerja
sumber
Tidak ada yang benar-benar membantu saya - saya tidak bisa menimpa pengaturan dalam file /etc/my.cnf. Jadi saya mencari seperti yang disarankan John https://stackoverflow.com/a/7974114/717251
Ia menemukan my.cnf lain di
mengubah file ini berhasil untuk saya! Jangan lupa untuk memulai kembali Agen peluncuran:
Memperbarui:
Jika Anda memiliki instalasi homebrew yang cukup baru, Anda harus menggunakan perintah brew services untuk me-restart mysql (gunakan versi mysql homebrew yang terinstal, yaitu mysql atau [email protected]):
sumber
brew services stop mysql
danbrew services start mysql
menggantikanlaunchctl unload ...
garis.Karena
mysql --help
memperlihatkan daftar file, saya merasa berguna untuk mem-pipe hasills
untuk melihat yang mana dari mereka:Untuk saya (Homebrew terpasang) MySQL 5.7, tampaknya file-file ini aktif
/usr/local/etc/my.cnf
.sumber
Pada tipe shell Anda
my_print_defaults --help
Di bagian bawah hasil, Anda harus dapat melihat file dari mana server membaca konfigurasi. Mencetak sesuatu seperti ini:
sumber
Anda dapat menemukan di mana
my.cnf
file itu disediakan oleh paket tertentu, misalnyaSelain memverifikasi apakah file itu dibaca, Anda dapat menjalankan:
yang akan menunjukkan kepada Anda aktivitas sistem file secara real-time terkait dengan file itu.
sumber
Saya percaya jawabannya tidak. Menginstal satu di ~ / .my.cnf atau / usr / local / etc tampaknya menjadi solusi yang lebih disukai.
sumber
Dalam kasus Homebrew, mysql juga akan mencari my.cnf di direktori Cellar-nya, misalnya:
Untuk kasus ini, seseorang lebih memilih untuk menjaga konfigurasi dekat dengan binari - create
my.cnf
sini jika tidak ada.Mulai ulang mysql setelah perubahan:
sumber
Versi server: 8.0.19 Homebrew. macOS Catalina 10.15.5 dan menginstal MySQL melalui Homebrew. Menemukan file ini di sini:
Solusi ini membantu :)
sumber
Untuk MacOS (High Sierra), MySQL yang telah diinstal dengan home brew.
Meningkatkan variabel global dari lingkungan mysql tidak berhasil. Jadi dalam hal ini pembuatan ~ / .my.cnf adalah opsi paling aman. Menambahkan variabel dengan [mysqld] akan mencakup perubahan (Catatan: jika Anda mengubah dengan [mysql], perubahan itu mungkin tidak berfungsi).
Mulai ulang server mysql. dan periksa variabelnya. y
1 baris dalam set (0,00 dtk)
sumber
$ps aux | grep mysqld /usr/local/opt/mysql/bin/mysqld --basedir=/usr/local/opt/mysql --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql/lib/plugin
Letakkan file my.cf Anda ke
/usr/local/opt/mysql
brew services restart mysql
sumber