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?

Odpowiedzi:


155

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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.