因为一个数据表太大,所以直接删除了对应的表文件,结果mysql无法启动了。
第一个问题是要找到mysql启动失败的原因,这个错误日志记录在 data 目录下,你的机器名.err
文件里记录:
2020-02-27T13:02:34.034989Z 0 [ERROR] InnoDB: Tablespace 13685 was not found at .\mytable.ibd.
2020-02-27T13:02:34.034989Z 0 [ERROR] InnoDB: Set innodb_force_recovery=1 to ignore this and to permanently lose all changes to the tablespace.
2020-02-27T13:02:34.035990Z 0 [ERROR] InnoDB: Cannot continue operation.
解决办法在mysql错误日志里已经写出来了:innodb_force_recovery=1
将这行配置加到 my.ini 文件里,好了,mysql启动成功。
看来即使innodb配置成了 innodb_file_per_table,mysql本身对整个数据库的完整性还是有校验的。
所以,不要随意删除数据库文件。切记。
有话要说