InnoDB:文件 .../padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/mariadb-10.4.13/storage/innobase/btr/btr0cur.cc 第 7940 行中的断言失败

InnoDB:文件 .../padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/mariadb-10.4.13/storage/innobase/btr/btr0cur.cc 第 7940 行中的断言失败

每小时有一个 MariaDB 版本 10.4 数据库停止响应,我在日志文件中看到以下输出:

Feb  9 10:00:02 maria55 mysqld: 2023-02-09 10:00:02 0x7f72547a5700  InnoDB: Assertion failure in file /home/buildbot/buildbot/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/mariadb-10.4.13/storage/innobase/btr/btr0cur.cc line 7940
Feb  9 10:00:02 maria55 mysqld: InnoDB: Failing assertion: space_id == page_get_space_id(page)
Feb  9 10:00:02 maria55 mysqld: InnoDB: We intentionally generate a memory trap.
Feb  9 10:00:02 maria55 mysqld: InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
Feb  9 10:00:02 maria55 mysqld: InnoDB: If you get repeated assertion failures or crashes, even
Feb  9 10:00:02 maria55 mysqld: InnoDB: immediately after the mysqld startup, there may be
Feb  9 10:00:02 maria55 mysqld: InnoDB: corruption in the InnoDB tablespace. Please refer to
Feb  9 10:00:02 maria55 mysqld: InnoDB: https://mariadb.com/kb/en/library/innodb-recovery-modes/
Feb  9 10:00:02 maria55 mysqld: InnoDB: about forcing recovery.

该服务器正在运行 Kopano,虽然我找不到任何突出的 CRON 会在某个时刻准确导致此问题,但我完全怀疑 Kopano 每小时都会进行一些维护例程,从而引发崩溃。

关于 InnoDB 损坏的建议听起来合理,但我不知道该怎么做,链接不清楚。

目前我们进行了mysqlcheck kopano数据库检查,100% 成功

进一步谷歌搜索并没有真正显示任何内容。

我不知道下一步该尝试什么。

我的一个想法是升级数据库,看看是否可以消除任何“错误”,但是当我们将数据转储到同一个磁盘时,发生了以下情况:

mysqldump --single-transaction --routines kopano -r kopanodb.sql

mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table 'lob' at row: 166961

现在我遇到了第二个问题,那就是我无法备份。数据库的总大小是 80GB!

我的想法是升级 MariaDB,但现在我担心事情会变得灾难性地糟糕,而我没有好的备份。

我的另一个想法是停止 MariaDB 服务,然后将/var/lib/mysql所有 80 GB 复制到一个临时位置,然后至少这可能是一个不错的备份。

还有其他想法或建议吗?

答案1

解决方案是升级 MariaDB。线索是 MariaDB 10.4 版本非常旧,并且以下行:

提交详细的错误报告...

为了解决数据库备份问题,我通过停止服务使数据库脱机,然后只复制目录/文件。这不是理想的备份,但我认为如果出现问题,我本可以恢复。

相关内容