MySQL 명령 행 도구가 --port 매개 변수를 무시하는 이유는 무엇입니까?


89

이것이 내가하고있는 일입니다.

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

내가 --port주장 하는 것에 상관없이 명령이 작동합니다 (포트 3306에 연결) . 하나의 컴퓨터에서 두 개의 mysql 서버가 실행 중이며 포트 번호를 명시 적으로 제공하여 두 번째 서버에 연결하려고합니다. 무슨 일이야? mysql이 매개 변수를 무시하는 이유는 무엇 입니까?

답변:


155

localhost매개 변수가 주어진, MySQL은 소켓을 사용합니다. 127.0.0.1대신 사용하십시오 .


14
이 사실이 mysql 매뉴얼 페이지에 언급되어 있지 않다는 것에 대해 분노하고 있습니다.
Janek

1
여기에 허용 된 답변 외에도이 mysql bugreport 에서 약간 더 자세한 설명을 볼 수 있으며 man page 링크도 제공 됩니다 . 버그 리포트 페이지의 주석 중 하나로서, 연결 문자열에 'localhost'를 사용하는 경우 클라이언트가 적어도 경고를 보내지 않는 이유를 이해하지 못합니다.
bukva-ziu

2
당신은 생명의 은인입니다!
Touqeer Shafi

나는 지금 10 년 동안 mysql을 사용하고 있지만, 이것은 내 길을 아직 넘어 가지 않았다 ...
P.Scheit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.