【救世主killall】`mysql.server start`が効かなかったときの対処法


はじめに

MySQLサーバーを立ち上げた状態で、不慮の端末シャットダウン

次回起動時にMySQLのサーバーを立ち上げられない

こんな状況になってしまっていました。
その解決法です。

この記事が役に立つ方

  • 不慮の事故でMySQLサーバーが立ち上がらなくなった方

この記事のメリット

  • 元通りMySQLサーバーが立ち上がるようになる。

環境

  • OS: macOS Mojave version 10.14.6
  • シェル: zsh
  • MySQL 8.0

エラー内容

$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXXXXX.local.pid).

mysql.server startが効かないという内容。
エラー内容を見て探すも、PIDファイル(プロセス識別子)が存在しない状態になっていました。

mysql.server stopも効かない。八方塞がり!

発生したエラーはこちらの記事(↓)と全く同じです。
mysqlがどうしても起動しない - Qiita

しかし、MySQLの再インストールなど記事に書いてあることを実行してもうまくいかず…。

最終的には以下記事を発見。解決!
MAMPのMySQLが起動しないときにやること | マテンロワークス

解決策

$ killall -9 mysqld

これで処理中のプロセスを強制終了。

$ mysql.server start
Starting MySQL
 SUCCESS! 

その後無事にサーバーが立ち上げることが出来ました!
あー嬉しい。

killall -9 mysqldコマンドの意味

今回の救世主killallコマンドの意味について触れておきます。
いやー、本当に助かりました。

killall

指定したプロセスの停止を行う。
基本書式は以下の通り。

$ killall [オプション] プロセス名

-9

「強制終了」の意味。
数あるkillallのオプションのうちの1つ。

mysqld

MySQLの「デーモン(d)」。
※デーモン:常駐プログラムのこと。
 これがMySQLとコンピュータとの橋渡しをしてくれている。

おわりに

同じエラーで苦しんでいる方のお役に立てれば幸いです。

参考にさせて頂いたサイト(いつもありがとうございます)

mysqlがどうしても起動しない - Qiita
MAMPのMySQLが起動しないときにやること | マテンロワークス
mysqldとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典