エラーの内容と問題点
時折Railsアプリ起動の際に
-
mysql.server start
を行うとERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
という警告が表示される。 -
mysql -u root -p
でログインもできない。 -
sudo mysql.server restart
で入ろうとすると
ERROR! MySQL server process #3366 is not running!
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/Nakauchi-no-MacBook-Air.local.pid).
Nakauchi-no-MacBook-Air:ex1 usr$ mysql.server start
Starting MySQL
./usr/local/Cellar/mysql/5.7.15/bin/mysqld_safe: line 135: /usr/local/var/mysql/Nakauchi-no-MacBook-Air.local.err: Permission denied
/usr/local/Cellar/mysql/5.7.15/bin/mysqld_safe: line 169: /usr/local/var/mysql/Nakauchi-no-MacBook-Air.local.err: Permission denied
/usr/local/Cellar/mysql/5.7.15/bin/mysqld_safe: line 135: /usr/local/var/mysql/Nakauchi-no-MacBook-Air.local.err: Permission denied
ERROR! The server quit without updating PID file (/usr/local/var/mysql/Nakauchi-no-MacBook-Air.local.pid).
行ったこと
- 明らかにpermission周辺でのエラーを起こしているのが原因だと思ったので
ls -laF /usr/local/var/mysql/
でpermissionを確認。間違えてmysql
を全く違うものに変えてしまっていないか。 -
sudo chown -R _mysql:admin /usr/local/var/mysql
とsudo chmod -R u+rwX,g+rwX,o-rwx /usr/local/var/mysql
とsudo chmod -R g+rwx /usr/local/var/mysql
を順番に実行した後mysql.server start
で無事動き出した。
リンク先の相談者の問題はどうやらmysqlのdata directoryの場所がよろしくなかったみたいです。そこでchown
とchmod
コマンドを使ってアクセス権限を変えてあげたわけです。最初の二つだけだとsudoコマンドなしでmysql installation directory
へのアクセスができないようなのでその権限もsudo chmod -R g+rwx /usr/local/var/mysql
で変えると。