The server quit without updating PID fileの原因と解決方法
久しぶりにMacでローカル上のMySQLを起動してみたところ、’The server quit without updating PID file’といった内容のエラーが出て、起動に失敗するようになっていました。
ネットの情報を調べると、/usr/local/var/mysqlの権限変更やmysql自体の再インストールが解決方法としてヒットしました。しかし、両方試してみるも解決せず。そもそも、その辺りは以前と設定を変えていないはずなので、根本原因とも考えにくく、別の情報を探すことにしました。
https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0096
上記のリンク先の記事を頼りにエラーを出力してみると、自分の手元で起こっていることと全く同じ状況であることがわかりました。そのため、記事にある通りに順番に対応。エラーがなくなり解決かと思ったのですが、すぐに次の問題が発生しました。
MySQL5.7でmysql.server startしてログインしてからmysql.stopをしたのち、mysql8のほうでログインするとログインに成功したように見えるも再度同じエラーが発生。振り出しに戻ってしまいました。
その後、my.cnfにあったquery_cache_typeをコメントアウトすることで解決しました。MySQL8からクエリキャッシュのサポートが終了しているため、設定によるエラーが発生して起動に失敗していたというのが根本原因でした。
サポート終了については詳しくはこちらのURLを参照: http://scsk-db.jp/mysql/topics/2017/08/16-142458.html
もし、似たような状況で起動できなくなっている方がいらっしゃれば、/usr/local/var/mysqlの中にある「ユーザ名.local.err」をtail -fで出力してログを見てみると良いかと思います。エラー内容と実際の原因が違うことはよくあることですが、今回は思い当たる節がなかったために解決までに少し時間を要してしまったのと、同様の情報がネット上で見つからなかったため、共有もかねて記事にさせていただきました。もし、似たような状況でお困りの方のお力になれれば幸いです。