Pourquoi l'outil de ligne de commande MySQL ignore-t-il le paramètre --port?

90

Voici ce que je fais:

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

La commande fonctionne (connexion au port 3306) peu importe ce que je fournis en --portargument. J'ai deux serveurs mysql fonctionnant sur une seule machine et je souhaite me connecter au second en fournissant explicitement son numéro de port. Que se passe-t-il? Pourquoi mysqlignore- t-il ce paramètre?

yegor256
la source

Réponses:

156

Lorsque ce localhostparamètre est défini, MySQL utilise des sockets. Utilisez à la 127.0.0.1place.

CENTRE
la source
14
Très énervant que ce fait ne soit pas mentionné dans la page de manuel de mysql.
Janek
1
En plus de la réponse acceptée ici, un peu plus d'explications peuvent être trouvées dans ce rapport de bogue mysql et également vers la page de manuel . En tant que commentateur dans la page de rapport de bug, je ne comprends pas non plus pourquoi le client ne lance pas au moins un avertissement en cas d'utilisation de 'localhost' dans la chaîne de connexion.
bukva-ziu
3
Vous êtes un sauveteur!
Touqeer Shafi
J'utilise