Dlaczego narzędzie wiersza polecenia MySQL ignoruje parametr --port?

89

Oto co robię:

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

Polecenie działa (połączenie z portem 3306) bez względu na to, co podam w --portargumencie. Mam dwa serwery mysql działające na jednym komputerze i chcę połączyć się z drugim, podając jawnie jego numer portu. Co się dzieje? Dlaczego mysqlignoruje ten parametr?

yegor256
źródło

Odpowiedzi:

155

Po localhostpodaniu parametru MySQL używa gniazd. Użyj 127.0.0.1zamiast tego.

CENTRUM
źródło
14
Dość denerwujące, że fakt ten nie jest wspomniany na stronie podręcznika mysql.
Janek
1
Oprócz zaakceptowanej tutaj odpowiedzi, nieco więcej wyjaśnień można znaleźć w tym raporcie o błędach mysql, a także link do strony man . Jako jeden z komentujących na stronie zgłaszania błędów, nie rozumiem również, dlaczego klient przynajmniej nie rzuca ostrzeżenia w przypadku użycia „localhost” w ciągu połączenia.
bukva-ziu
2
Jesteś człowiekiem ratującym życie!
Touqeer Shafi
Korzystam z mysql już od dekady, ale to jeszcze mi się nie udało ...
P.Scheit