当前位置: 首页 > 知识库问答 >
问题:

仅从ibdata1文件恢复数据

林劲
2023-03-14

如问题标题所示,很明显我想从ibdata1文件中恢复数据。我在ubuntu系统中安装了mysql,损坏了大约189GB的数据库。现在数据库将无法启动,并触发数百万innodb日志序列号错误。

误差

        170925 14:14:34  InnoDB: Error: page 2804483 log sequence number 2846912445106
        InnoDB: is in the future! Current system log sequence number 2840085857093.
        InnoDB: Your database may be corrupt or you may have copied the InnoDB
        InnoDB: tablespace but not the InnoDB log files. See
        InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
        InnoDB: for more information.
        170925 14:14:34  InnoDB: Assertion failure in thread 140499101235072 in file trx0rseg.c line 144
        InnoDB: Failing assertion: UT_LIST_GET_LEN(rseg->update_undo_list) == 0
        InnoDB: We intentionally generate a memory trap.
        InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
        InnoDB: If you get repeated assertion failures or crashes, even
        InnoDB: immediately after the mysqld startup, there may be
        InnoDB: corruption in the InnoDB tablespace. Please refer to
        InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
        InnoDB: about forcing recovery.
        08:44:34 UTC - mysqld got signal 6 ;
        This could be because you hit a bug. It is also possible that this binary
        or one of the libraries it was linked against is corrupt, improperly built,
        or misconfigured. This error can also be caused by malfunctioning hardware.
        We will try our best to scrape up some info that will hopefully help
        diagnose the problem, but since we have already crashed,
        something is definitely wrong and this may fail.
        key_buffer_size=16777216
        read_buffer_size=131072
        max_used_connections=0
        max_threads=500
        thread_count=0
        connection_count=0
        It is possible that mysqld could use up to
        key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 1110145 K  bytes of memory
        Hope that's ok; if not, decrease some variables in the equation.
        Thread pointer: 0x0
        Attempting backtrace. You can use the following information to find out
        where mysqld died. If you see no messages after this, something went
        terribly wrong...
        stack_bottom = 0 thread_stack 0x30000
        /usr/sbin/mysqld(my_print_stacktrace+0x20)[0x7fc87f558400]
        /usr/sbin/mysqld(handle_fatal_signal+0x3d5)[0x7fc87f442a35]
        /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7fc87e1d3340]
        /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39)[0x7fc87d829bb9]
        /lib/x86_64-linux-gnu/libc.so.6(abort+0x148)[0x7fc87d82cfc8]
        /usr/sbin/mysqld(+0x5a0e0f)[0x7fc87f608e0f]
        /usr/sbin/mysqld(+0x5a3d00)[0x7fc87f60bd00]
        /usr/sbin/mysqld(+0x590f2a)[0x7fc87f5f8f2a]
        /usr/sbin/mysqld(+0x55c036)[0x7fc87f5c4036]
        /usr/sbin/mysqld(_Z22ha_finalize_handlertonP13st_plugin_int+0x2b)[0x7fc87f4449bb]
        /usr/sbin/mysqld(+0x2ffa29)[0x7fc87f367a29]
        /usr/sbin/mysqld(+0x303a71)[0x7fc87f36ba71]
        /usr/sbin/mysqld(_Z15plugin_shutdownv+0x1cd)[0x7fc87f36cbed]
        /usr/sbin/mysqld(+0x289cf1)[0x7fc87f2f1cf1]
        /usr/sbin/mysqld(unireg_abort+0x1c3)[0x7fc87f2f27f3]
        /usr/sbin/mysqld(+0x28b2e8)[0x7fc87f2f32e8]
        /usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x45b)[0x7fc87f2f751b]
        /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fc87d814ec5]
        /usr/sbin/mysqld(+0x286a78)[0x7fc87f2eea78]
        The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
        information that should help you find out what is causing the crash.

我会非常感谢你的帮助。

共有1个答案

杜霍英
2023-03-14

通过使用/usr/bin/mysqld_safe启动数据库解决了这个问题&

 类似资料:
  • 问题内容: 我已经卸载了旧的XAMPP并删除了其中的所有内容并安装了新的XAMPP 。当我将备份文件夹(具有我的数据库名称,包含所有和文件)复制到时,该数据库显示在phpmyadmin的列表中,但没有表和数据。我做错了什么? 问题答案: 我搜了很多。还有一些其他文件需要恢复。我认为仅从.frm文件中恢复表是不可能的。我已经重新创建了数据库。

  • 问题内容: 我获得了一个MySQL数据库文件,需要将其还原为Windows Server 2008计算机上的数据库。 我尝试使用MySQL Administrator,但出现以下错误: 所选文件是由mysqldump生成的,不能由该应用程序还原。 我该如何工作? 问题答案: 它应该像运行此命令一样简单: 如果转储是单个数据库,则可能必须在文件顶部添加一行: 如果它是许多数据库的转储,则use语句已

  • 本文向大家介绍SQL恢复master数据库方法 只有mdf文件的数据库如何恢复,包括了SQL恢复master数据库方法 只有mdf文件的数据库如何恢复的使用技巧和注意事项,需要的朋友参考一下 首先先和大家讲一讲SQL Server恢复master数据库方法,具体步骤如下 第一步:复制model.mdf、mastlog.ldf、model.mdf、modellog.ldf、msdbdata.mdf、

  • 我写了一个Android应用。导出为签名APK发送通过邮件安装到设备。-不在市场。 在运行时,它将用类似的代码将他们的数据保存到内部存储: 据我所知-如果我错了,请纠正我-它将保存到/data/data/com。我的公司。myapp/文件名 因为它是用保存的,所以我不确定市场上或我的其他应用程序是否能看到它保存它。也许如果我创建一个具有相同签名的应用程序? 手机没有根。我已经尝试了很多备份,应用程

  • 我的项目运行正常。我只是做了一次Lint检查,它给了我所有项目的错误。所以我刚刚清理了我的项目。但现在它并没有生成R.java文件。我怎样才能找回它。我试着建造。。但它不起作用

  • 有人能告诉我如何在dropwizard 1.2.6中实现可恢复的文件上传吗?因此,如果用户试图上传一个大文件(4-5 GB),如果出现网络故障或浏览器错误关闭,那么用户将能够从中断的地方恢复该过程。