2014 년 11 월 : Mac OS X Mavericks 또는 Yosemite의 MySQL 5.6.x에서이 오류가 발생하고 로컬에서 PHP와 함께 MySQL을 사용하려는 경우 (/tmp/mysql.sock에서 PHP PDO가 sock 파일을 찾을 것으로 예상 함), 나를 위해 수정 한 내용은 다음과 같습니다.
1) 기본 homebrew 구성 파일 행의 주석 처리를 제거하고 아래와 같이 편집하십시오.
$ sudo vi /usr/local/Cellar/mysql/5.6.21/my.cnf
...
basedir = /usr/local/Cellar/mysql/5.6.21
datadir = /usr/local/var/mysql
port = 3306
server_id = <UNIQUE_NUMBER_HERE_OR_LEAVE_COMMENTED_OUT>
socket = /tmp/mysql.sock
pid-file = /usr/local/var/mysql/[BOXNAME].local.pid
....
BOXNAME은 시스템 환경 설정-> 네트워크에서 네트워크상의 컴퓨터 고유 ID로 가지고있는 것입니다.
2) mysql datadir의 모든 파일에 대한 권한을 설정합니다. 이들은 모두 [my_username] 소유입니다. MySQL은 이것에 대해 매우 까다 롭고 (사용자 _mysql)이 디렉토리를 소유하지 않는 한 pid 파일 생성을 거부합니다.
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3) bash 도우미 / 래퍼 스크립트를 사용하여 MySQL을 시작합니다.
$ sudo mysql.server start
Starting MySQL
. SUCCESS!
도움이되기를 바랍니다. 위의 방법이 작동하지 않으면 Cellar / mysql / VERSION_ / bin / 디렉토리에서 mysqld_safe 바이너리를 수동으로 실행하고 설정이 무엇인지 확인하십시오 (실행되는 경우).
sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &
실행되면 다음을 수행 할 수 있습니다.
ps aux | grep mysql
그리고 같은 것을 본다
[username] 6881 0.0 2.7 3081392 454836 ?? S 8:52AM 0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld
왜 그것이 저에게 효과가 있었는지 잘 모르겠지만 my.cnf 구성 파일 옵션을 어디서 얻었는지 보여줍니다. 명령 줄 옵션을 사용하여 mysqld를 수동으로 시작할 때 문제를 해결할 수도 있습니다.
mysqld_safe를 사용하여 MySQL 서버를 실행하기 위해 manage를 실행하는 경우 mysql.server bash 도우미를 사용하기 전에이 작업을 수행하여 종료해야 할 수 있습니다. 데이터를 손상시킬 수 있으므로 -9 [PID]를 죽이려는 충동을 억제하십시오.
mysqladmin -uroot shutdown
행운을 빕니다!
sudo chown -R _mysql:_mysql /usr/local/var/mysql