从ibd文件恢复数据库无法正常工作

时间:2017-02-02 02:30:39

标签: mysql innodb

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

我在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/使用方法#2 后使用教程,但数据库wordpress 中表 wp_posts上的任何数据都不正确。当我 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" width="700" height="1000" frameborder="0" marginwidth="0" marginheight="0">Đ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)

1 个答案:

答案 0 :(得分:-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;

No.2-

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

No.3-

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

No.4-

ALTER TABLE my_table IMPORT TABLESPACE;

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