¿Por qué la herramienta de línea de comandos MySQL ignora el parámetro --port?


90

Esto es lo que estoy haciendo:

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

El comando funciona (conectando al puerto 3306) sin importar lo que proporcione en el --portargumento. Tengo dos servidores mysql ejecutándose en una máquina, y quiero conectarme a la segunda proporcionando explícitamente su número de puerto. ¿Que esta pasando? ¿Por qué mysqlignora este parámetro?

Respuestas:


156

Cuando localhostse proporciona el parámetro, MySQL usa sockets. Usar en su 127.0.0.1lugar.


14
Bastante irritante que este hecho no se mencione en la página de manual de mysql.
Janek

1
Además de la respuesta aceptada aquí, se puede encontrar un poco más de explicación en este informe de errores de mysql y también un enlace a la página de manual . Como uno de los comentaristas en la página de informe de errores, tampoco entiendo por qué el cliente al menos no lanza una advertencia en caso de usar 'localhost' en la cadena de conexión.
bukva-ziu

3
Eres un hombre salvavidas!
Touqeer Shafi

estoy usando MySQL desde hace una década, pero esto no cruzado mi camino, sin embargo ...
pscheit
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.