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?

Réponses:


156

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


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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.