XAMPPでMySQLがどうしてもエラーで立ち上がらなくなった場合の対処法
XAMPPでMySQLがStartできない現象
XAMPPでMySQLのStartボタンを押すと、下記のようなエラーログが。。。
1 2 3 |
Error: MySQL shutdown unexpectedly. This may be due to a blocked port, missing dependencies, improper privileges, a crash, or a shutdown by another method. Press the Logs button to view error logs and check the Windows Event Viewer for more clues If you need more help, copy and post this entire log window on the forums |
特に私は、複数台のPCでDropboxを使って開発環境をシェアしているため、焦ります。
ポート番号をmy.iniで3306からほかの空き番号に変えたけどダメ。
XAMPP再インストールしてmysql\data\my.iniのパスをDropBoxに再設定したけどダメ。
何やってももダメ。
自分の場合、XAMPP自体はc:\xamppにインストールしてあり、htdocsとmysqlだけDropBoxで共有しています。
再インストールまでしてダメなら、DropBox内のmysql内のデータが何だか悪さしていそうです。。。
対処方法
①DropBox内のmysql\dataフォルダをどこかにコピー
手順④で一部使用します。必ずコピーして退避しておいてください。
②DropBox内のmysql\data内の、自分が作ったデータベース以外を削除
【削除対象】
・mysql(フォルダ)
・performance_schema(フォルダ)
・phpmyadmin(フォルダ)
・test(フォルダ)
・その他ファイル
自分が作ったデータベースのフォルダのみ残して、あとは思い切って削除します!
③c:\xampp\mysql\backup 内のフォルダとファイルをそのままmysql\data内にコピペ
c:\xampp\mysql\backup 内のフォルダとファイルを、DropBox内のmysql\data内にまるっとコピペします。
これでXAMPP再起動してみると。。。MySQLが無事立ち上がりました。
これで開発に集中できる・・・・とはいきません。これで終わりではないのです。
例えば開発途中のWordPressに接続した場合、下記のようなWprdPressインストール画面に。。。
ここでインストールを進めると、更にぐちゃぐちゃになりそうです。
しかし、この問題も解決できます。もうひと手間です。
④DropBox内のmysql\data内に、①で退避したdataフォルダから、ibdata1をコピー
このibdata1というファイルは、これまでのデータベースの接続情報が入っているようです。
これをコピーして上書きすると、無事解決です!
原因は。。。
このようなエラーが起こる原因は、私の環境の場合、下記のようなことが考えられます。
・XAMPPを終了する際、ApacheとMySQLをStopさせていなかった。
・同期している2台のPCで同時にXAMPPを開いた。
・DropBoxの同期が終わっていないのに、他のPCでXAMPPを起動した。
エラーが起こらないように、下記のような項目に留意します。
・作業終了時には、必ずXAMPPを終了させる。(XAMPPを立ち上げたままPCの電源を切らない)
・XAMPPを終了する際、ApacheとMySQLをStopさせてからQuit(終了)する。
・XAMPPのコンパネが複数個起動していることがよくあるので、それらをすべて終了させる。
・XAMPPを終了してDropBoxの同期が終わってから、PCの電源を切る。
・同期している2台のPCで同時にXAMPPを開かない。
まとめ
私自身、XAMPPとDropBoxを絡めている事もあり、このようなエラーに何度も何度も遭遇しました。
エラーの度にXAMPPを再インストールしたり、WordPressを再構築したりして凌いでいたのですが、下記の記事に出会って今回のような対処方法を知ったおかげで、エラーに対応する時間を大幅に減らすことができました。また、エラーが起こっても焦らなくなりました。
同じようにお困りの方は、是非お試しください。
参考記事:(とても助かりました。ありがとうございました。)
公開日:2022年1月19日
最終更新日:2022年2月7日