我的 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 是否重新启动(应该可以)。然后逐个导入数据库,直到找到有问题的数据库,并使用上次的良好备份来恢复该数据库。