【问题标题】:MySQL - able to access database after deleting .frm and .ibd filesMySQL - 删除 .frm 和 .ibd 文件后能够访问数据库
【发布时间】:2015-10-25 08:07:27
【问题描述】:

我有一个 MySQL 服务器,它运行时没有任何错误。不小心我删除了所有 .ibd 和 .frm 文件。但是服务器没有抛出任何错误。即使使用命令行,它也会继续数据插入和所有操作。

我发现它临时使用 ibdata 文件来存储和访问记录。

如果我尝试访问所有记录,则显示未找到任何记录。它显示没有可用于“显示表”的表,但如果我使用特定表名访问它不会抛出任何错误消息

我该如何克服这种情况。如果任何 .ibd 或 .frm 文件被删除,如果我访问该表,它应该会抛出错误。

【问题讨论】:

    标签: php mysql frm


    【解决方案1】:

    试试CHECK TABLE my_table EXTENDED;

    编辑:

    REPAIR TABLE tbl_name EXTENDED 应该可以帮助您恢复损坏的数据。请先备份表本身和整个数据库。

    【讨论】:

    • 返回错误。但是在选择/插入/更新/删除期间它不会抛出任何错误。有没有办法指示 MySQL 服务器将记录直接刷新到表文件中。就像在 my.cnf 或启动期间的任何参数中一样
    • 我刚刚编辑了答案以添加 REPAIR TABLE 语句...但是有一个 FLUSH 语句可以关闭所有打开的表、指针等。指向它的链接就在这里dev.mysql.com/doc/refman/5.6/en/flush.html
    猜你喜欢
    • 2022-07-23
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多