我的树莓树(InnoDB引擎)上存储的MySQL数据库有一个很大的问题。我不是这个领域的专家,但我会试着向你解释这个问题。
每当我尝试启动MySQL并需要恢复存储在数据库中的数据时,它都会崩溃。错误是:
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的所有文件
发布于 2018-09-13 01:48:52
您可以使用recovery.twindb.com背后的工具Undrop for InnoDB。要恢复损坏的数据库,您需要执行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.sqlhttps://stackoverflow.com/questions/52275850
复制相似问题