MariaDB 无法启动——无法检查完整性

MariaDB 无法启动——无法检查完整性

我的 MacBook 上安装了 MariaDB brew。到今天为止运行良好。突然它无法启动了:

-> mysql.server start
Starting MySQL
ERROR!

此外,如果我发出mysql -uroot或收到任何其他 mysql 命令ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2 "No such file or directory"),这非常令人困惑,我花了几个小时才弄清楚它mysql.sock去了哪里。但实际上它根本没有创建,因为 DB 从未启动过。我在查看日志文件后发现了这一点。它充满了这种错误:

InnoDB: Error: trying to access update undo rec field 48 in index "PRIMARY" of table... InnoDB: but index has only 25 fields

或者

2015-11-04 12:30:20 7000008b1000 InnoDB: Error: trying to access tablespace 893002339 page no. 1751475051, InnoDB: but the tablespace does not exist or is just being dropped.

很多这样的错误。我猜我的数据库在某个时候被损坏了,而 MariaDB 无法执行完整性检查。

我尝试卸载并重新安装 MariaDB,错误仍然存​​在,因为数据库仍然在这里......

如果有一个简单的解决方案,我会很乐意接受它,但如果没有,我准备删除我的所有数据库(我有备份)并重新brew安装 MariaDB。我的所有数据库和日志文件都驻留在其中,/usr/local/var/mysql如果这有帮助的话。

任何帮助都将受到赞赏。

答案1

这些错误确实表明数据库已损坏,因此最好从底层启动并进行故障排除。

我会尝试(重新)移动所有数据库,然后查看 MariaDB 是否重新启动(应该可以)。然后逐个导入数据库,直到找到有问题的数据库,并使用上次的良好备份来恢复该数据库。

相关内容