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

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

저는 2014년 말 Mac Mini에서 OS X Yosemite 10.10.5를 실행하고 있습니다. 내 개발 서버입니다. 방금 이 컴퓨터에 MySQL을 설치했습니다. 'mysql --version'은 버전이 'EditLine 래퍼를 사용하는 osx10.8(x86_64)용 mysql Ver 14.14 Distrib 5.6.26'이라고 보고합니다. 그러나 나는 확실히 "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를 찾을 수 없습니다.

여기서 무슨 일이 일어나고 있는 걸까요?

답변1

컴퓨터에 다음 파일이 있는지 확인해 볼 수 있나요?

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

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

답변2

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

관련 정보