【MySQL】The server quit without updating PID file エラーの解決方法

2分で読める テック
最終更新:

MySQLを起動しようとしたとき、次のエラーが出て起動できないことがあります。

ERROR! The server quit without updating PID file (/usr/local/var/mysql/xxxxx.local.pid).

自分はRailsプロジェクトを作成した後、MySQLを起動しようとしたときにこのエラーに遭遇しました。

開発環境

  • Ruby: 2.5.1
  • Rails: 6.0.0

エラーの原因

「PIDファイルを更新せずにサーバーが終了した」というエラーです。MySQLがPIDファイルを書き込む /usr/local/var/mysql/ ディレクトリへの書き込み権限がない場合に発生します。

PIDファイルとは、起動したプロセスのIDを記録するファイルです。MySQLはこのファイルを使って自身が起動中かどうかを管理しています。書き込みに失敗すると、サーバーが正常に起動できずに終了してしまいます。

解決手順

/usr/local/var/mysql 以下のファイルの所有者を _mysql に変更します。

$ sudo chown -R _mysql:_mysql /usr/local/var/mysql

このコマンドを実行した後、改めてMySQLを起動します。

$ sudo mysql.server start

起動が成功すると次のメッセージが表示されます。

Starting MySQL
. SUCCESS!

まとめ

このエラーはMySQLディレクトリの所有権がずれていることが原因です。macOSでMySQLをインストールした直後や、OSをアップデートした後に発生することがあります。

sudo chown -R _mysql:_mysql /usr/local/var/mysql で所有者を変更することで解決できます。

質問・リクエストを送る

記事についての質問や、取り上げてほしいテーマがあればお気軽にどうぞ。いただいた質問はブログ記事として回答し、Q&Aページで公開することがあります。