Mengapa alat baris perintah MySQL mengabaikan parameter --port?


90

Inilah yang saya lakukan:

mysql --host=localhost --port=9999 mysql -u root -p --execute="show tables;"

Perintah itu berfungsi (menghubungkan ke port 3306) tidak peduli apa yang saya berikan dalam --portargumen. Saya memiliki dua server mysql yang berjalan di satu mesin, dan ingin terhubung ke yang kedua dengan secara eksplisit memberikan nomor port-nya. Apa yang sedang terjadi? Mengapa mysqlmengabaikan parameter ini?

Jawaban:


156

Ketika localhostparameter diberikan, MySQL menggunakan soket. Gunakan 127.0.0.1sebagai gantinya.


14
Cukup menyebalkan bahwa fakta ini tidak disebutkan di halaman manual mysql.
Janek

1
Selain jawaban yang diterima di sini, sedikit penjelasan lebih lanjut dapat ditemukan di laporan bug mysql ini dan juga tautan ke halaman manual . Sebagai salah satu komentator di halaman bugreport, saya juga tidak mengerti mengapa klien tidak setidaknya memberikan peringatan jika menggunakan 'localhost' dalam string koneksi.
bukva-ziu

3
Anda adalah pria penyelamat hidup!
Touqeer Shafi

Saya menggunakan mysql selama satu dekade sekarang, tapi ini tidak
menyimpang
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.