저는 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에 지정된 포트가 사용됩니다.