MySQL aria error
This MariaDB log shows that the server failed to start due to a corrupted InnoDB data file, specifically involving a missing MLOG_CHECKPOINT. Let’s walk through what’s happening and how you can attempt recovery step-by-step.
π What’s Happening?
Key Log Line:
[ERROR] InnoDB: Missing MLOG_CHECKPOINT at 50981968 between the checkpoint 50981968 and the end 50981959.
This means the InnoDB redo log is corrupted — it’s expecting a checkpoint that either doesn’t exist or is unreadable, which prevents InnoDB from initializing.
π ️ Fix Step-by-Step
✅ 1. Backup First!
Before trying anything else:
-
Backup the entire MariaDB data directory (default on Windows is usually in
C:\Program Files\MariaDB xx\data
). -
Also backup
ib_logfile0
,ib_logfile1
, andibdata1
.
π 2. Try Forcing InnoDB Recovery
Edit your my.ini
(or my.cnf
) file and add the following under the [mysqld]
section:
[mysqld]
innodb_force_recovery = 1
Try restarting the MariaDB service. If it still fails, increment the value:
innodb_force_recovery = 2
You can go up to 6
, but higher values increase the risk of data loss — use only as needed to dump your data.
π€ 3. Dump Your Databases
If the server starts:
-
Use
mysqldump
or phpMyAdmin to export your data to.sql
files.
mysqldump -u root -p --all-databases > alldb_backup.sql
♻️ 4. Clean Reinstall (if needed)
Once data is backed up:
-
Stop MariaDB.
-
Delete (or move) the
ibdata1
,ib_logfile0
,ib_logfile1
, and possibly the wholedata
folder. -
Start MariaDB (it will recreate clean InnoDB files).
-
Re-import your
.sql
backup.
⚠️ Additional Note:
This kind of error often results from:
-
Sudden shutdown (e.g., power failure)
-
Disk full
-
Disk corruption
So once recovered, you may want to:
-
Enable automatic backups
-
Monitor disk health
-
Gracefully shut down MariaDB before restarting or turning off the server
Would you like help writing a my.ini
config with the recovery mode or instructions to auto-dump once it starts? Let me know — we can get through this! πͺ
Ulasan