Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Incomplete
-
10.5.11
-
Debian GNU/Linux 11. Raspberry Pi 4.
Description
It was probably some power outage what caused the issue. I've tried forcing recovery by setting the `innodb_force_recovery` variable incrementally, and none of the recovery modes seemed to magically fix the problem. Using higher modes, at least MariaDB starts, but databases are corrupt and crash MariaDB as soon as I try to interact with them using the client. It's not like I had highly important data in my databases, but I think it's worth trying to fix, in case it happens again when I do have important data stored in it. I attached the systemd logs.
Attachments
Issue Links
- relates to
-
MDEV-13542 Crashing on a corrupted page is unhelpful
-
- Closed
-
Unfortunately, the mariadb-stacktrace.log
is useless for any analysis, because the addresses were resolved incorrectly. With a correctly resolved stack trace (possibly from a core dump), it would be possible to identify which type of a page was corrupted. With the available information, I cannot know if it was an undo log page or an index page, and therefore I cannot give suggestions how to recover the rest of the data.
There is no magic fix. The intended purpose of innodb_force_recovery is to allow you to dump the data. The option innodb_force_recovery=6 is the most dangerous one, because it will cause the redo log to be ignored altogether. Starting with 10.5 (thanks to
MDEV-19514removing the special meaning of innodb_force_recovery=4), it should be the only option that can corrupt the data further.If you have a copy of the data directory as it was before attempting innodb_force_recovery=6, then I would suggest that you attempt to invoke the server in a debugger. Because it is crashing at startup, this should be fairly easy. See also https://mariadb.com/kb/en/how-to-produce-a-full-stack-trace-for-mysqld/ for some hints.