Frage Warum ignoriert das Befehlszeilenprogramm von MySQL den Parameter --port?


Das mache ich:

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

Der Befehl funktioniert (Verbindung zu Port 3306), egal, was ich anbiete --port Streit. Ich habe zwei mysql-Server, die auf einem Rechner laufen und mit dem zweiten verbinden wollen, indem ich explizit seine Portnummer gebe. Was ist los? Warum tut mysql diesen Parameter ignorieren?


60
2017-08-30 13:42


Ursprung




Antworten:


Wann localhost Parameter angegeben, verwendet MySQL Sockets. Benutzen 127.0.0.1 stattdessen.


113
2017-08-30 13:44



Ziemlich ärgerlich, dass diese Tatsache nicht auf der mysql Manpage erwähnt wird. - Janek
Neben akzeptierter Antwort hier, kann ein bisschen mehr Erklärung in diesem gefunden werden mysql Fehlerbericht und auch verlinken zu Man Seite. Als einer der Kommentatoren in der Seite bugreport verstehe ich auch nicht, warum der Client zumindest keine Warnung ausgibt, wenn 'localhost' in der Verbindungszeichenfolge verwendet wird. - bukva-ziu
Du bist ein Lebensretter Mann! - Touqeer Shafi
Ich benutze Mysql jetzt seit einem Jahrzehnt, aber das ist mir nicht in den Weg gelaufen ... - P.Scheit
OH MEIN GOTT!!! Danke, verbringe eine Stunde damit !!! - user3479125