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.