MySQLが起動しないときの原因まとめ

当サイトではアフィリエイト広告を利用しています

XAMPPのMySQLを使用していて「Start」ボタンを押しても、すぐにMySQLが停止してしまう。
こんなことが起きたことはありませんか?

エラーが出るけど、何が原因か分からない。
この記事では、Windows環境でMySQLが起動しないときに確認すべきポイントを、順番に解説します。

1.パソコンを再起動する

意外ですが、これだけで直ることがあります。
MySQLのプロセスが残ってしまっている場合、パソコンを再起動することでリセットされます。

2.MySQLのプロセスが残っていないか確認する

MySQLのプロセスをパソコンの再起動でリセットできますが
パソコンの再起動以外の方法でもプロセスが残っていないか確認する方法があります。

◆確認方法

  1. Ctrl + Shift + Esc でタスクマネージャーを開く
  2. 「詳細」タブをクリック
  3. mysqld.exe があれば右クリック →「タスクの終了」

その後、もう一度XAMPPからMySQLを起動してみましょう。

3.XAMPPを「管理者として実行」する

Windowsでは、権限の問題でMySQLが起動しないことがあります。

◆確認方法

  1. XAMPPを一度終了する
  2. 「XAMPP Control Panel」を右クリック
  3. 「管理者として実行」をクリック

その状態でMySQLを起動してみてください。

Windowsでは、特定のポートやサービスを使用する場合に管理者権限が必要になることがあります。
つい先日までは問題なく使えていたのに、WindowsUpdateなどにより突然権限が足りなくなる場合があります。

今後は、XAMPPは常に「管理者として実行」するのがおすすめです。

4.ポート3306が使われていないか確認する

MySQLは通常「3306」というポート番号を使います。
他のアプリがこのポートを使っていると、MySQLが起動できません。

◆確認方法

1.コマンドプロンプトを開いて、次を入力する

何か表示された場合、そのポートは使用中です。
表示されたアプリを終了するか、XAMPPの設定でポート番号を変更しましょう。

5.強制終了によるInnoDBの破損を確認する

エラーログに次のような表示がある場合、InnoDBというファイルが破損している可能性があります。

InnoDBとは、MySQLがデータを管理している仕組みです。
MySQLを起動したままパソコンをシャットダウンしたときなどにファイルが壊れることがあります。

◆対処方法 (※作業前に必ず「xampp/mysql/data」フォルダをコピーしてバックアップしてください。)

  1. MySQLを停止する
  2. 「xampp/mysql/data」フォルダを開く
  3. 次のファイルを削除する
    • ib_logfile0
    • ib_logfile1
  4. もう一度MySQLを起動する
6.dataフォルダの破損を確認する

何度もエラーが出る場合、dataフォルダ自体が壊れている可能性があります。

◆対処方法

  1. MySQLを停止する
  2. 「xampp/mysql/data」フォルダを別の場所にコピー(バックアップ)
  3. 「xampp/mysql/backup」フォルダ内のファイルを「xampp/mysql/data」フォルダに上書きコピー
  4. MySQLを起動

※ この方法ではデータが消える可能性があります。大事なデータがある場合は慎重に行ってください。

MySQLが起動しないときは、次の順番で確認しましょう。

  • パソコンを再起動する
  • MySQLのプロセスが残っていないか確認する
  • XAMPPを「管理者として実行」する
  • ポート3306が使われていないか確認する
  • 強制終了によるInnoDBの破損を確認する
  • dataフォルダの破損を確認する