XAMPPのMySQLをスタートしても、すぐにストップしてしまう。MySQLが起動できない時の対処法としてバックアップから復旧する方法があります。XAMPPをインストールしたディレクトリの中mysqlのなかにバックアップデータがあるのでそのファイルからMySQLを復活させます。
私も度々この不具合が起こるので若干XAMPP恐怖症気味になってました。WindowsやPCのアップデートなんかで再起動した際は、まずXAMPPが動くか確かめるくらいにはビビッておりましたが前回記事にした「Shellコマンドを使う方法」と今回ご紹介する「XAMPPのバックアップから復旧する方法」の2段構えで対処する事で怖くなくなりましたのでシェアしたいと思います。
データベースを大幅に変更したりしていなくて、ある日突然XAMPPのMySQLが起動できなくなったって人はまずShellコマンドを使う方法を試してみてください。やり方は簡単です◎
Shellコマンドを使っても残念ながら復旧できなかった場合は次に進みましょう。
なぜ突然XAMPPのMySQLが起動できなくなるのかはっきりした原因はわからないのですが、よく言われるXAMPPの終了が確実にできていないパターンとは別に、データベースの内容が大きく書き換わる際に起こるような気がします。自分の経験上でのことなので確証はないのですが…
目次
XAMPPのバックアップファイルからMySQLを復旧する方法
バックアップファイルからMySQLを復旧する大まかな手順は以下の5ステップになります。
※データベースにパスワードはリセットされちゃうので几帳面にローカルデータベースにパスワードを設定している私のような人は要注意です。4番まで済ませてローカルサイトをブラウザ表示したら「データベースの確立エラー」が出て直ってないじゃん!と泣きそうになりますがデータベースのパスワードを再設定すると直るので慌てなくて大丈夫です◎
xampp/mysql/dataフォルダのバックアップをとる
xampp/mysql/dataフォルダ内の自サイトデータ以外を全て削除する
xampp/mysql/backupフォルダのすべてをコピーしてdataフォルダにペースト
デスクトップにバックアップしてある退避dataフォルダから
ibdata1
をコピーしてxampp/mysql/dataに貼り付け(上書き)データベースのパスワードを再設定する。(パスワード未設定でXAMPPデータベースを運用していた場合は不要)
それではXAMPPのバックファイルからMySQLを復旧する作業に進みましょう。
※作業に入る前にXAMPPのコントロールパネルは終了しておいてくださいね。
step1. xampp/mysql/dataフォルダのバックアップをとる
XAMPPはインストール時に特に指定していなければCドライブ直下にインストールされてます。
xampp/mysql/の中にあるdataフォルダをマルっとコピーしてバックアップを取ります。バックアップする場所はデスクトップで大丈夫です。作業が無事に完了したらゴミ箱に捨てちゃうので。
参考にしたサイトではこのdataフォルダをバックアップすると書いてあるのですが後で使うのはdataフォルダの中にあるibdata1というファイルだけなので、最悪コイツさえバックアップしておくのでも大丈夫な気がします。が、念のためdataフォルダ丸ごとバックアップしておきましょう。万が一上手くいかなかった場合、作業前の状態に戻せます。
step2. xampp/mysql/dataフォルダ内の自サイトフォルダ以外のデータを削除する
削除するのはデスクトップにバックアップした方ではなく、XAMPPインストール先のdataフォルダの中になりますので注意して削除していきます。
dataフォルダを開くと自分が作ったデータベース名のフォルダがあるのでそれ以外のフォルダとファイルを削除しちゃいます。もしXAMPPローカルで1サイト分のデータベースを作っていたなら残すフォルダは1つだと思います。作成したデータベース名はわかると思いますが(-ハイフン)などの記号を使っている場合はエスケープ処理されて変わってたりするようです。データベース名にハイフンは入れない方が良いのかもしれませんね。無知ですみません。
step3. xampp/mysql/backupフォルダのすべてをコピーしてdataフォルダにペーストする
一つ上の階層にbackupフォルダがあるので開いて中身を全てコピーします。
再びdataフォルダに戻ってbackupフォルダからコピーした全てをペーストします。
step4. バックアップフォルダからibdata1をコピーしてxampp/mysql/dataに貼り付け
最後にデスクトップにバックアップしてあるフォルダの中にあるibdata1
をコピーしてxampp/mysql/dataに貼り付けます。上書きになるはずです。
ここまでの作業が完了したらXAMPPのコントロールパネルを起動してMySQLをスタートしてみます。成功していればストップしちゃって起動できない症状は改善されているはずです。
ただ、この時点でデータベースのパスワードはリセットされてしまうので、もしパスワードを設定していた場合はローカルサイトにアクセスしてもエラーが出ると思います。
私はデータベースパスワード付きでWordPressサイトをXAMPPに入れているのでブラウザからローカルサイトにアクセスすると「データベース確立エラー」と表示されました。
パスワード設定していたって方は次のステップ5へ。
step5. データベースのパスワードを再設定する
ここからはローカル環境データベースにパスワードを設定する人用です。
XAMPPのコントロールパネルからApacheとMySQLを起動した状態でphpMyAdminにアクセスしてパスワードを再設定します。
パスワードは初期化されているので、ユーザー:root / パスワード:なしでphpMyAdminに入れます。再度今まで使用していたパスワードを設定してください。
WordPressを使用していてデータベース接続パスワードを忘れてしまってる場合はローカル開発環境(defaultならhtdocs)のサイトデータフォルダ直下のwp-config.php
に「データベースのパスワード」があるはずなので、それを設定すれば大丈夫です。
まとめ: XAMPPのMySQLが起動しない問題は「Shellコマンド」と「バックアップから復旧」の2段構えで解決!
XAMPPのMySQLが急に起動しなくなる事って以前は全然なかったので最初は焦りましたが大体この2つの方法のどちらかで復旧できるので、たぶんもう大丈夫だと思ってますがどうなんでしょうね。
この二通りの方法でダメだった時は、また調べて記事にします。最後までお読みいただきありがとうございました。