【问题标题】:How to recover a mysql database(.MYD, .MYI, .frm) when the first character of the filename is a #当文件名的第一个字符是 # 时,如何恢复 mysql 数据库(.MYD、.MYI、.frm)
【发布时间】:2016-02-22 14:58:55
【问题描述】:

如上所述,我有一个存储为 .MYD、.MYI 和 .frm 文件的 Mysql 数据库,其中包含一些表。我有类似的文件:

pavg.MYD
pavg.MYI
pavg.frm
...
#sql-75c_6ac1a.MYD
#sql-75c_6ac1a.MYI
#sql-75c_6ac1a.frm

当我将所有这些文件复制到数据库目录中时,我只找到没有“#”的表。表名中的“#”有什么作用?

编辑:我仍然有这个问题。如果有人能给我一些进一步的建议,我将不胜感激。

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    那些文件名指的是mysql在查询期间创建的临时表,这些临时表保存到磁盘,或者orphan innodb tables是alter table操作的结果。严格来说,您不应该需要它们来进行恢复操作。

    【讨论】:

    • 但我认为,这些文件包含我想要读取的数据。可读表的大小约为几 MB,但以“#”开头的文件大约为 8GB....有没有办法可以读取这些文件?
    • 请阅读我链接的文档。它描述了一个恢复过程。
    • 我没有通过阅读文档得到它。再给点小费就好了。
    • 很抱歉,您的反馈需要更加具体!仅仅说“我读过但我不明白”是不够的。您需要根据描述描述您尝试过的内容以及尝试还原数据时出现的问题。此外,您还特别要求解释以 # 开头的表名代表什么。你得到了那个答案。如果您需要知道如何恢复您的数据库,您应该在另一个问题中提出这个问题,并且可能不是在 SO 上,而是在 dba.stackexchange.com 上。
    • 好的,我知道我需要的数据在我上面列出的文件中(#sql-75c_6ac1a.MYD,#sql-75c_6ac1a.MYI,#sql-75c_6ac1a.frm)。我不能找到一种方法来读取这些数据。我阅读了文档,但找不到在数据中选择数据的方法。我该怎么做才能像普通表格一样导入这些文件?
    猜你喜欢
    • 2010-10-27
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 2013-05-07
    • 2012-11-01
    • 2014-08-13
    • 1970-01-01
    • 2020-08-06
    相关资源
    最近更新 更多