2014年10月23日木曜日

Homebrew でインストールした MySQL で /tmp/mysql.sock が開けなかった時の対応


バージョン確認
  
$ sw_vers -productName
Mac OS X

$ sw_vers -productVersion 
10.10

$ mysql --version
mysql  Ver 14.14 Distrib 5.6.21, for osx10.10 (x86_64) using  EditLine wrapper

$ brew -v
Homebrew 0.9.5

バージョン確認してみるが失敗 '/tmp/mysql.sock'が無い
  
$ /usr/local/Cellar/mysql/5.6.21/bin/mysql -version
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

起動失敗。Service is disabled

$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/hogehoge.local.pid).

エラー確認
  
$ tail -n 10  /usr/local/var/mysql/hogehoge.local.err
tail: /usr/local/var/mysql/hogehoge.local.err: Permission denied

パーミッション確認
  
$ ls /usr/local/var/mysql
-rw-r-----+  1 _mysql      wheel    597055 10 23 13:05 hogehoge.local.err
-rw-r--r--+  1 user_name   wheel      4772  4 12  2012 my.cnf
drwx------+ 74 user_name   wheel      2516  4 12  2012 mysql

パーミッション変更
ファイルオーナーがuser_nameなので、_mysqlに変更
  
$ sudo chown -R _mysql /usr/local/var/mysql
$ sudo chmod -R o+rwx /usr/local/var/mysql

再度、起動。成功。
  
$ mysql.server start

ソケットファイル存在確認
  
$ ls -al /tmp/mysql.sock
srwxrwxrwx  1 _mysql  wheel  0 10 23 13:09 /tmp/mysql.sock

0 コメント: