Apakah ada perintah untuk menentukan file konfigurasi mana yang saat ini digunakan MySQL 5.0?
mysql
configuration
yalestar
sumber
sumber
ps auxf
dan menemukan perintah dieksekusi untuk MySQL. Biasanya terlihat seperti sesuatu sepertimysqld --basedir=/usr/local/mysql ...
(perhatikan ... hanya berarti bahwa mungkin ada lebih banyak bendera dalam perintah tetapi saya tidak akan mencantumkan semuanya) Setelah Anda menemukannya, salin semuanya dan kemudian matikan MySQL. Jika Anda menggunakan Linux, itu/etc/init.d/mysqld stop
ataumysqladmin -u root -p shutdown
. Kemudian jalankanstrace
dengan perintah mysql yang Anda salin. Jadi akan terlihat seperti ini:strace mysqld --basedir=/usr/local/mysql
open(...
garis. Sebaliknya saya memiliki 4 baris yang diakhiri dengan= -1 Err#2
. Bagaimana Anda tahu sekarang file mana yang dimuat?sudo dtruss mysqld 2>&1|grep my.cnf
@mgPePe, keluaran itu kemungkinan berarti tidak ada file yang ditemukan sehingga tidak ada yang dibuka.Diambil dari buku O'Reilly "High Performance MySQL" yang fantastis:
sumber
!includedir
. Saya mencoba mencari tahu mengapa!includedir
arahan dalam/etc/mysql/my.cnf
file saya tidak berfungsi.mysqld
dengan jalur penuh ?!Jika Anda menjalankannya
mysql --verbose --help | less
akan memberi tahu Anda tentang saluran 11 yang.cnf
file akan dicari.Anda juga dapat melakukannya
mysql --print-defaults
untuk menunjukkan kepada Anda bagaimana nilai konfigurasi yang akan digunakan. Ini juga dapat berguna dalam mengidentifikasi file konfigurasi mana yang sedang dimuat.sumber
mysqld
sebagai gantimysql
mysqld --print-defaults
, itu memberi saya apa yang saya inginkan ketika saya mencari di Google pertanyaan ini.Saya di Windows dan saya telah menginstal versi terbaru dari komunitas MySQL 5.6
Apa yang saya lakukan untuk melihat apa yang menggunakan file konfigurasi adalah untuk pergi ke Administrative Tools> Services> MySQL56> Klik kanan> Properties dan periksa path ke executable:
"C: / Program Files / MySQL / MySQL Server 5.6 / bin \ mysqld" --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini" MySQL56
sumber
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
default.Alternatifnya adalah menggunakan
sumber
mysqld --help --verbose berbahaya. Anda dapat dengan mudah menimpa pidfile untuk menjalankan instance! gunakan dengan --pid-file = XYZ
Oh, dan Anda tidak bisa menggunakannya jika Anda menjalankan lebih dari 1 instance. Ini hanya akan menunjukkan kepada Anda nilai default.
Artikel yang sangat bagus tentang itu:
Bagaimana cara menemukan file konfigurasi MySQL?
sumber
Baru saja melakukan tes cepat di ubuntu:
menginstal mysql-server, yang menciptakan /etc/mysql/my.cnf
mysqld --verbose --help | grep -A 1 "Opsi default"
110112 13:35:26 [Catatan] Plugin 'FEDERATED' dinonaktifkan.
Opsi default dibaca dari file-file berikut dalam urutan yang diberikan: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~ / .my.cnf
menciptakan /etc/my.cnf dan /usr/etc/my.cnf, masing-masing dengan nomor port yang berbeda
me-restart mysql - menggunakan nomor port yang diatur di /usr/etc/my.cnf
Sementara itu menemukan opsi --defaults-file ke mysqld. Jika Anda menentukan file config di sana, hanya yang akan digunakan, terlepas dari apa yang dikembalikan oleh / usr / sbin / mysqld --verbose --help | grep -A 1 "Opsi default"
sumber
Menggunakan MySQL Workbench akan ditampilkan di bawah "Server Status":
sumber
Saya menemukan ini sangat berguna:
Control Panel -> Administration Tools
Properties
Path to executable
dan lihat apakah itu berisi jalur kemy.ini/my.cfg
sumber
Beberapa server memiliki beberapa versi MySQL yang diinstal dan dikonfigurasi. Pastikan Anda berurusan dengan versi yang benar berjalan dengan perintah Unix:
sumber
Untuk orang yang menjalankan windows server dengan mysql sebagai layanan, cara mudah untuk mengetahui file konfigurasi apa yang Anda jalankan adalah dengan membuka panel kontrol layanan, temukan layanan mysql Anda (dalam kasus saya 'MYSQL56'), klik kanan dan klik properti . Kemudian dari sini Anda dapat memeriksa "Path to Executable" yang seharusnya memiliki
defaults-file
saklar yang menunjuk ke tempat file konfigurasi Anda.sumber
Hanya dalam kasus Anda menjalankan mac ini juga dapat dicapai dengan:
sumber
Jika Anda berada di Windows, Anda dapat menggunakan Sysinternals ProcMon . Buka dan konfigurasikan pengaturan filter seperti ini, lalu klik "Tambah". Sekarang procmon akan memonitor mysqld.
Sekarang jalankan server mysql Anda seperti biasa. Procmon akan menangkap operasi latar belakang mysql. Cari "saya." di panel hasil procmon dan Anda akan menemukan sesuatu seperti berikut:
Sudah jelas bahwa mysql mencari daftar file konfigurasi pada gilirannya. Dalam kasus saya
C:\mysql-5.7.19-winx64\my.cnf
berhasil ditemukan sehingga menggunakan ini.sumber
Saya menginstal mysql menggunakan minuman instal mysql
Dan itu menunjukkan:
sumber