#エラー
スタート(起動できない)
Starting MySQL
./usr/local/Cellar/mysql/8.0.19/bin/mysqld_safe: line 144: /usr/local/var/mysql/ユーザーMBP.err: Permission denied
rm: /usr/local/var/mysql/ユーザーMBP.pid: Permission denied
2020-03-29T03:04:45.6NZ mysqld_safe Fatal error: Can't remove the pid file:
/usr/local/var/mysql/ユーザーMBP.pid.
Please remove the file manually and start /usr/local/Cellar/mysql/8.0.19/bin/mysqld_safe again;
mysqld daemon not started
/usr/local/Cellar/mysql/8.0.19/bin/mysqld_safe: line 144: /usr/local/var/mysql/ユーザーMBP.err: Permission denied
ERROR! The server quit without updating PID file (/usr/local/var/mysql/ユーザーMBP.pid).
##Permission denied ってどゆう意味
簡単に言いますと、「ファイルへのアクセス権限がない」とのこと。
参考
https://qiita.com/takuyanin/items/18590600d077df707923
##権限を確認する
*mysqlの該当ファイルまで移動
% cd /usr/local/var/mysql
*ファイルのアクセス権限をみてみる
% ls -l
-rw-r----- 1 mysql wheel 2948 3 29 14:14 ユーザーMBP.err
-rw-r----- 1 mysql wheel 5 3 29 14:14 ユーザーMBP.pid
こんな感じで確認できました。
権限のところが、mysqlとなってます。これがいいのかよくわかりませんが、、、
この辺りの権限を変えてみました。
##権限を変えてみる
ユーザー権限に変更
% sudo chown -R $USER /usr/local/
確認
% ls -l
-rw-r----- 1 ユーザー wheel 2948 3 29 14:14 ユーザーMBP.err
-rw-r----- 1 ユーザー wheel 5 3 29 14:14 ユーザーMBP.pid
##起動確認 (mysql.server start)
% mysql.server start
Starting MySQL
.... SUCCESS!
うまく行きました...
##MySQLのステータスを確認する。(mysql.server status)
mysql.server status
ERROR! Multiple MySQL running but PID file could not be found (754 857 )
複数起動していますが、PIDファイル(754 857)というのがないですよーーって事で
現在実行されているmysqlのアクティブなプロセスのIDを確認!
% ps ax | grep mysql
754 s004 S 0:00.03 /bin/sh /usr/local/Cellar/mysql/8.0.19/bin/mysqld_safe --datadir=/usr/local/var/mysql --pid-file=/usr/local/var/mysql/MacBook-Pro.pid
857 s004 S 0:03.55 /usr/local/Cellar/mysql/8.0.19/bin/mysqld --basedir=/usr/local/Cellar/mysql/8.0.19 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/8.0.19/lib/plugin --log-error=MacBook-Pro.err --pid-file=/usr/local/var/mysql/MacBook-Pro.pid
1088 s004 S+ 0:00.01 grep mysql
###実行されているプロセスを遮断する。kill ××
kill 754
kill 857
##再びMySQLを起動させる。(mysql.server start)
Starting MySQL
.... SUCCESS!
% mysql.server status
SUCCESS! MySQL running (1242)
これで全てうまくいくことができました。
##番外編(Operation not permitted)
% sudo chown -R $USER /usr/local
を実行したときに、
chown: /usr/local: Operation not permitted
このように表示される場合があります。
###Operation not permittedとは...
OS X 10.11 El Capitanより追加されたセキュリティ機能、SIP(System Integrity Protection)によって以下の領域がガードされているそうです。
- /bin
- /sbin
- /System
この配下では,rootユーザでも書き込みできません。
##解決策
参考
https://qiita.com/iwaseasahi/items/9d2e29b02df5cce7285d
##最後に
皆様の参考になれば幸いです。