从 ibd 文件恢复数据数据库不起作用

Posted

技术标签:

【中文标题】从 ibd 文件恢复数据数据库不起作用【英文标题】:Restore data database from ibd file not working 【发布时间】:2017-06-18 23:57:03 【问题描述】:

Mysql 5.5 InnoDB 坏了。我只有带有 .frm 和 ibd 文件的文件夹 mysql

我在https://dba.stackexchange.com/questions/71596/restoring-mysql-tables-from-ibd-frm-and-mysqllogbin-files 找到了答案。在我升级 Mysql 5.6 并在http://www.chriscalender.com/tag/innodb-error-tablespace-id-in-file/ 使用 Method #2 的教程后,但表 wp_posts in database wordpress 上的任何数据都不正确。当我 ALTER TABLE wp_posts IMPORT TABLESPACE 时,它会中断 mysql(丢失连接)。我无法恢复它。请帮帮我。

这是我修复后的一条记录(数据在列之间杂乱无章):

************************* 1. row *************************
                   ID: 2
          post_author: 1
            post_date: 0000-00-09 05:24:20
        post_date_gmt: 9272-08-30 08:00:00
         post_content: V??<<iframe style="width: 100%;" src="https://docs.google.com/forms/d/e/1FAIpQLSe1mpUtq1EYSoLzsVJL_gAv8KCR023wO7uyxU0Tgps1UhHjjg/viewform?embedded=true"   frameborder="0" margin margin>Đang tải...</i
           post_title: frame>Đăng ký tư
         post_excerpt: 
          post_status:  vấnp
       comment_status: ublish
          ping_status: clos
        post_password: 
            post_name: edopendang-ki-
              to_ping: 
               pinged: 
        post_modified: 0909-02-09 08:38:31
    post_modified_gmt: 1378-05-31 30:54:42
post_content_filtered: 
          post_parent: 1922960506717475414
                 guid: ???        http://duhocvaxuatkhau.co
           menu_order: -315670672
            post_type: age_
       post_mime_type: 
        comment_count: -1629109878096134144
1 row in set (0.00 sec)

【问题讨论】:

mysqld.err 中有什么? @RickJames 我只有文件夹 mysql 文件夹。它没有文件 mysqld.err。之前查看mysql错误日志,提示“InnoDB is crash”,无法启动mysql。 【参考方案1】:

更新: 建议先阅读这篇文章。 https://dba.stackexchange.com/questions/288860/restoring-mysql-data-from-ibd-file/288861#288861

我今天遇到了同样的问题,经过几次调查终于发现,在调用 IMPORT TABLESPACE 之前,将新文件的所有权更改为 mysql:mysql 非常重要。

所以:

No.1-

ALTER TABLE my_table DISCARD TABLESPACE;

2号-

CP /var/lib/mysql/old_db/my_table.ibd /var/lib/mysql/new_db/my_table.ibd

3号-

sudo chown mysql:mysql /var/lib/mysql/new_db/my_table.ibd

4号-

ALTER TABLE my_table IMPORT TABLESPACE;

它对我有用,我非常高兴:)

【讨论】:

以上是关于从 ibd 文件恢复数据数据库不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Mysql ibd文件恢复指南

Webmin 文件系统备份 |恢复完成,没有错误,但不起作用

还原数据库 SQL 脚本不起作用

从 Kettle 外部的属性文件连接数据库连接不起作用

从文本文件创建数据框,在 pyspark 中不起作用

如何从ibd文件中恢复数据