20211013のMySQLに関する記事は1件です。

ある日MySQLが急に動かなくなった時のデバッグ( The server quit without updating PID file )

はじめに ある日突然、rails s でエラーが発生したので解決した方法を記録します。 誰かの参考になることを祈ります。 開発環境 macOS BigSur 11.6 zsh: 5.8 (x86_64-apple-darwin20.0) Ruby: 2.6.3 Rails: 6.1.4.1 発生したエラー localhost:3000: $ mysql.server start #出力 Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/*******.local.pid). その後、brew doctor、アクセス権限の再付与、エラーログのファイルを覗いて対策したり小手先のデバッグを色々してみたが結局似たようなエラー。 前日まで元気に動いていたのに、、、(涙目) ということで1度再インストールし直すのが良さげなので実践。 原因? MySQLのバージョン切り替え時に出るエラーらしい。 バージョンは変更していないのでHomebrewのアップデートでMySQLまでバージョンが切り替わり、前のバージョンの使用したデータが残っていたためエラーが起こった??? 対策(解決) 手順 - 現在のMySQL をアンインストール - プロセスの削除 - 新しくMySQL をインストール 上記の通り進めていきます。 1. 現在のMySQL をアンインストール brew uninstall mysql brew uninstall --force mysql brew cleanup -s mysql #brew uninstall mysql では削除できないファイル群の削除 rm -rf /usr/local/mysql rm -rf /Library/StartupItems/MYSQL rm -rf /Library/PreferencePanes/MySQL.prefPane rm -rf /Library/Receipts/mysql-.pkg rm -rf /usr/local/Cellar/mysql* rm -rf /usr/local/bin/mysql* rm -rf /usr/local/var/mysql* rm -rf /usr/local/etc/my.cnf rm -rf /usr/local/share/mysql* rm -rf /usr/local/opt/mysql 以下のコマンドで削除できているか確認します。 mysql --version which mysql 消えてればOK。 2. プロセスの削除 削除したMySQLとバージョンの違うMySQLがインストールされたとき、もとのバージョンのプロセスが残っているとエラーが発生することがあるらしいので削除しておく。 #プロセスの確認 ps -ef | grep mysql #出力 501 41981 1 0 8:19PM ttys002 0:00.02 /bin/sh /usr/local/Cellar/mysql/8.0.26/bin/mysqld_safe --datadir=/usr/local/var/mysql --pid-file=/usr/local/var/mysql/UsersMacBook-Pro.local.pid #表示されたプロセスを削除 kill -9 41981 killコマンドのオプション-9で強制終了。上記の41981がプロセスIDです。 3. 新しくMySQL をインストール #brewコマンドで新しくMySQLをインストール brew install mysql #インストール完了したら mysql.server start mysql -u root #ログインが確認できたらexit #Railsアプリに必要なら必要に応じて rails db:create rails db:migrate rails db:seed 参考文献 ・The server quit without updating PID file mysqlエラー解決方法 ・MacでHomebrewを使ってinstallしたMySQL5.6とMySQL5.7を切り替えて使う ・MySQL起動エラーの対処の仕方【Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)】 ・mysqlが死んだ日 終わりに 無事解決してよかった、、、。(切実) Twitterで日々の学習をアウトプットしています。 未熟者ですが、ご興味あれば覗いてやってください。→Twitter
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む