首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从MySQL数据库修复/恢复数据

从MySQL数据库修复/恢复数据
EN

Stack Overflow用户
提问于 2018-09-11 20:23:14
回答 1查看 2.2K关注 0票数 0

我的树莓树(InnoDB引擎)上存储的MySQL数据库有一个很大的问题。我不是这个领域的专家,但我会试着向你解释这个问题。

每当我尝试启动MySQL并需要恢复存储在数据库中的数据时,它都会崩溃。错误是:

代码语言:javascript
运行
复制
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

我刚刚尝试使用从1到6的innodb_force_recovery标志启动MySQL,但它仍然崩溃。从日志中,我了解到问题是某些表中的损坏。

我尝试用https://recovery.twindb.com/检查我的数据库文件,结果显示"mysql“数据库中的一些表需要恢复,而"production”数据库(矿山)中的表是正常的,确实我可以在这个网站上看到我所有的数据。如何轻松恢复我的数据?我可以使用一些免费的工具或脚本吗?我有作为ibdata01,*.frm,*.ibd的所有文件

EN

回答 1

Stack Overflow用户

发布于 2018-09-13 01:48:52

您可以使用recovery.twindb.com背后的工具Undrop for InnoDB。要恢复损坏的数据库,您需要执行https://twindb.com/recover-corrupt-mysql-database/中的步骤

解析ibd文件:

代码语言:javascript
运行
复制
# ./stream_parser -f /var/lib/mysql/sakila/actor.ibd

来自主索引的转储记录:

代码语言:javascript
运行
复制
# ./c_parser -6f pages-actor.ibd/FIL_PAGE_INDEX/0000000000000015.page \
    -t sakila/actor.sql \
    > dumps/default/actor 2>&1 dumps/default/actor_load.sql

然后加载转储:

代码语言:javascript
运行
复制
# mysql --local-infile sakila < dumps/default/actor_load.sql
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52275850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档