从mysql数据库修复/恢复数据

nsc4cvqm  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(401)

我的raspberry(innodb引擎)上存储的mysql数据库有一个大问题。我在这个领域不是很在行,但我会尽力向你解释这个问题。
每次我尝试启动mysql时,它都会崩溃,我需要恢复数据库中存储的数据。错误是:

error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

我刚尝试用innodb\u force\u recovery标志从1到6来启动mysql,但它仍然崩溃。从日志中我了解到问题是一些表内部的损坏。
我试着用https://recovery.twindb.com/ 它显示“mysql”数据库中的一些表需要恢复,“production”数据库(我的)中的表是可以的,确实我可以在这个网站上看到我所有的数据。如何轻松恢复我的数据?有一些免费的工具或脚本,我可以使用?我所有的文件都是ibdata01,.frm,.ibd

uelo1irk

uelo1irk1#

您可以使用undrop for innodb recovery.twindb.com背后的工具。要恢复损坏的数据库,需要执行以下步骤https://twindb.com/recover-corrupt-mysql-database/
解析ibd文件:


# ./stream_parser -f /var/lib/mysql/sakila/actor.ibd

主索引中的转储记录:


# ./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

然后加载转储:


# mysql --local-infile sakila < dumps/default/actor_load.sql

相关问题