MySQLサーバーを立ち上げようとしたときに、以下のようなエラーが表示されることがあります。
ERROR! MySQL server PID file could not be found!
時々このエラーに遭遇するのですが、その度に解決方法をググるのでまとめておきます。
目次
MySQLサーバーが立ち上げられない原因
エラーはMySQLサーバーを立ち上げようとしたときに起こります。
$ mysql server.start
ERROR! MySQL server PID file could not be found!
「プロセスのIDが記録されているPIDファイルがない」というエラーですね。
プロセスを停止したがロックだけ残っている場合に発生します。
MySQLが立ち上げられないエラーを解決する方法
エラーの解決は以下の手順で行います。
- プロセスIDを確認する
- 不要なプロセスを停止させる
- 新ためて起動を試みる
プロセス確認は以下のコマンドでできます。
$ ps ax | grep mysql
するとプロセスの一覧が表示されます。
31014 ?? S 0:00.02 /bin/sh /Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log
31125 ?? S 0:01.17 /Applications/MAMP/Library/bin/mysqld --basedir=/Applications/MAMP/Library --datadir=/Applications/MAMP/db/mysql57 --plugin-dir=/Applications/MAMP/Library/lib/plugin --log-error=/Applications/MAMP/logs/mysql_error_log.err --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --socket=/Applications/MAMP/tmp/mysql/mysql.sock --port=3306
47754 s001 S+ 0:00.00 grep mysql
各行の最初にある数字(31014、31125、47754など)がプロセスIDです。
上記のうち、最後の「47754」は先ほど実行したps ax | grep mysql
のプロセスIDなので、それ以外を停止していきます。
$ sudo kill -TERM 31014
$ sudo kill -TERM 31125
プロセスを停止するとMySQLの起動ができるようになります。
$ mysql.server start
まとめ
PIDファイルが見つからないとエラーが出たときは、不要なプロセスを停止していくことで解決できます。
「見つからない」と言われるのですが、所定のディレクトリでファイルを作成すればよいわけではないので注意してくださいね。
コメント