XAMPP の MySQL で「Aria recovery failed.」というエラーが発生した際の対処法についてご紹介します。私の環境での対応方法になりますので、すべての環境で効果があるとは限りませんが、参考になれば幸いです。

なお、XAMPP のインストールディレクトリはC:\xamppであるものとして解説いたします。また、対処を行う前に、念のためC:\xampp\mysql\dataフォルダ内のファイルはバックアップしておくことをおすすめします。

使用バージョン:XAMPP 7.4.23

XAMPPのMySQLの起動に失敗

XAMPP の MySQL を起動したところ、以下のようなエラーが表示されて起動に失敗してしまいました。

12:28:48  [mysql]   Error: MySQL shutdown unexpectedly.
12:28:48  [mysql]   This may be due to a blocked port, missing dependencies, 
12:28:48  [mysql]   improper privileges, a crash, or a shutdown by another method.
12:28:48  [mysql]   Press the Logs button to view error logs and check
12:28:48  [mysql]   the Windows Event Viewer for more clues
12:28:48  [mysql]   If you need more help, copy and post this
12:28:48  [mysql]   entire log window on the forums

mysql_error.log で、エラー内容の確認

mysql_error.logを確認したところ、「Aria recovery failed.」というエラーメッセージが出力されています。どうやら、以下の 2 つの対応を行ってくださいとのこと。

  • すべての Aria テーブルでaria_chk -rを実行
  • すべてのaria_log.########ファイルを削除
2025-02-27 12:28:48 0 [ERROR] mysqld.exe: Aria recovery failed. Please run aria_chk -r on all Aria tables and delete all aria_log.######## files
2025-02-27 12:28:48 0 [ERROR] Plugin 'Aria' init function returned error.
2025-02-27 12:28:48 0 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
2025-02-27 12:28:48 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2025-02-27 12:28:48 0 [Note] InnoDB: Uses event mutexes
2025-02-27 12:28:48 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2025-02-27 12:28:48 0 [Note] InnoDB: Number of pools: 1
2025-02-27 12:28:48 0 [Note] InnoDB: Using SSE2 crc32 instructions
2025-02-27 12:28:48 0 [Note] InnoDB: Initializing buffer pool, total size = 64M, instances = 1, chunk size = 64M
2025-02-27 12:28:48 0 [Note] InnoDB: Completed initialization of buffer pool
2025-02-27 12:28:48 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2025-02-27 12:28:48 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2025-02-27 12:28:48 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2025-02-27 12:28:48 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB.
2025-02-27 12:28:48 0 [Note] InnoDB: Waiting for purge to start
2025-02-27 12:28:49 0 [Note] InnoDB: 10.4.21 started; log sequence number 27291406; transaction id 22914
2025-02-27 12:28:49 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool
2025-02-27 12:28:49 0 [Note] Plugin 'FEEDBACK' is disabled.
2025-02-27 12:28:49 0 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
2025-02-27 12:28:49 0 [ERROR] Failed to initialize plugins.
2025-02-27 12:28:49 0 [ERROR] Aborting

というわけで、エラーログの通りにこの 2 つの工程を実行してみます。

Aria テーブルで「aria_chk -r」を実行

まず、コマンドプロンプトを開き、aria_chk.exeがあるC:\xampp\mysql\binに移動します。

cd C:\xampp\mysql\bin

次に、aria_chk -rを実行しますが、この際、対象のMAIファイルを指定する必要があります。対象となるファイルは、C:\xampp\mysql\data\mysqlの中に入っているため、以下のように実行します。

aria_chk -r C:\xampp\mysql\data\mysql\*.MAI

すると、このように実行結果が表示されました。どうやら無事に処理できたようです。

aria_log.######## ファイルを削除

次に、aria_log.########ファイルの削除を行います。ファイルはC:\xampp\mysql\dataの中にあります。確認してみるとaria_log.で始まるファイルが一つあったので、これを削除します。

MySQL の起動確認

XAMPP のコントロールパネルで MySQL の起動を試したところ、無事に起動することを確認できました。

再起動すると再びエラーが表示される場合

無事に直ったと思ったのも束の間、再起動してみると再びエラーが表示されて起動に失敗してしまいました。エラーログを確認すると、以下のように出力されています。

2025-12-26 13:58:43 0 [ERROR] mysqld.exe: File 'C:\xampp\mysql\data\aria_log.00000001' not found (Errcode: 2 "No such file or directory")

aria_log.00000001ファイルが見つからないとのこと。そこで、C:\xampp\mysql\dataの中を確認してみると、存在するのはaria_log.00000002というファイル。

調べてみると、どうやらこれはバグのようで、連番に不整合が発生してしまうようです。無理矢理ではありますが、ファイル名を変更して番号を合わせてみても、今度は別のエラーが。

2025-12-26 14:07:43 0 [ERROR] mysqld.exe: Aria engine: log initialization failed

いろいろと試してみる中で、なんとなくaria_log_controlが怪しい気がしてきました。名前的にも、ログの連番を管理してそうな名前です。

C:\xampp\mysql\dataの中にあるaria_log.########ファイルをもう一度削除したうえで、C:\xampp\mysql\backupの中にあるaria_log.########ファイルとaria_log_controlファイルをC:\xampp\mysql\dataにコピーしてみます。

次に、再度aria_chk -rを実行します。

aria_chk -r C:\xampp\mysql\data\mysql\*.MAI

そして、もう一度起動できるかどうか確認してみると…

無事に起動できました。とりあえず、何度か再起動を繰り返しても大丈夫そうでした。

終わりに

以上、XAMPPのMySQLで「Aria recovery failed.」エラーが出た際の対処法についてご紹介いたしました。ただし、根本的な解決になったかどうかは不明なため、この状態でしばらく様子見する必要はありそうです。