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.