Perché lo strumento da riga di comando MySQL ignora il parametro --port?


90

Questo è quello che sto facendo:

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

Il comando funziona (collegandosi alla porta 3306) indipendentemente da ciò che fornisco --portnell'argomento. Ho due server mysql in esecuzione su una macchina e voglio collegarmi alla seconda fornendo esplicitamente il suo numero di porta. Cosa sta succedendo? Perché mysqlignora questo parametro?

Risposte:


156

Quando localhostviene fornito il parametro, MySQL utilizza i socket. Usa 127.0.0.1invece.


14
Abbastanza esasperante che questo fatto non sia menzionato nella pagina man di mysql.
Janek,

1
Oltre alla risposta accettata qui, un po 'più di spiegazione può essere trovata in questo report bug bug mysql e anche un link alla pagina man . Come uno dei commentatori nella pagina bugreport, non capisco anche perché il client non emetta almeno un avviso nel caso in cui usi "localhost" nella stringa di connessione.
bukva-ziu,

3
Sei un uomo salvavita!
Touqeer Shafi,

sto usando mysql da un decennio ormai, ma questo non ha attraversato la mia strada, ancora ...
pscheit,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.