MySQL은 포트 3306이 아닌 포트 3307에 바인딩합니다.


9

2014 년 말 Mac Mini에서 OS X Yosemite 10.10.5를 실행하고 있습니다. 내 개발 서버입니다. 이 머신에 MySQL을 설치했습니다. 그러나 "OS X 10.9"버전을 확실히 다운로드하여 설치했습니다 (방금 DMG 파일을 다시 확인했습니다).

어쨌든 나는 제품을 포트 3306에서 정상적으로 청취하도록하려고하는데 그것을 만드는 데 약간의 어려움이 있습니다. 기본적으로 my.cnf가 다음과 같은 경우에도 포트 3307에 바인딩 된 것으로 보입니다.

[mysqld]
bind-address = 0.0.0.0
port         = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

(마지막 줄은 이미 / usr / local / mysql /의 기본 줄에있었습니다)

실행중인 프로세스를 보면 명령 줄 (ps ax | grep mysql)이 3307로 주어진 것을 볼 수 있습니다.

40958   ??  Ss     0:00.38 /usr/local/mysql/bin/mysqld \\
--user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data \\
--plugin-dir=/usr/local/mysql/lib/plugin \\
--log-error=/usr/local/mysql/data/mysqld.local.err \\
--pid-file=/usr/local/mysql/data/mysqld.local.pid --port=3307

(현재 커맨드 라인에서 직접 MySQL 시스템 환경 설정 패널을 사용하여 시작하고 중지하고 있습니다)

클라이언트에서 액세스하려면 명령 줄에서 포트를 명시 적으로 설정해야합니다

$ mysql -u smcphee -h 192.168.x.x -P 3307 -p

차기를 위해, 다른 임의의 포트를 지정하기 위해 my.cnf를 편집했습니다. 서버가 여전히 포트 3307에 바인딩 중입니다. 디스크를 덮어 쓸 수있는 곳에서는 디스크에서 다른 my.cnf를 찾을 수 없습니다.

무슨 일이야?

답변:


10

컴퓨터에 다음 파일이 있는지 확인할 수 있습니까?

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

포트가 3307에 정의되어 있는지 확인하십시오. 이것이 참인 경우 3306으로 변경하고 서비스를 다시 시작하십시오.


예, 그렇습니다. 그리고 그 안에 다음 줄이 있습니다 : <string>-port = 3307 </ string> 왜 기본적으로 그렇게합니까?
scot

1
이 파일이 서비스를 시작하기 때문에 발생하는 것 같습니다. 확실하지 않지만 줄을 삭제하면 서비스가 my.cnf파일 의 포트를 사용 합니다.
Victor Marroquin

물론입니다. "왜"라는 말은 필자가 예상하고 합리적인 기본 값 대신에 그러한 값으로 파일을 설치하는 이유를 의미했습니다. (물론 설치 패키지가 시작 데몬을 설치했다고 가정합니다. 왜냐하면 무엇이 있을까요?)
scot

1

이것은 MySQL 시스템 환경 설정 패널 및 서버 시작 방법과 관련이 있어야합니다. 환경 설정 패널을 비활성화하고 제거했습니다. 명령 행에서 'mysqld_safe'를 사용하여 서버를 시작 / 중지하면 my.cnf에 지정된 포트를 사용합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.