我的树莓派(InnoDB引擎)上存储的MySQL数据库存在很大问题。 我在这个领域不是很熟练,但是我会尽力向您解释这个问题。
每次尝试启动MySQL崩溃时,我都需要恢复存储在数据库中的数据。 错误是:
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
我刚刚尝试使用innodb_force_recovery标志从1到6启动MySQL,但是它仍然崩溃。从日志中,我了解到问题出在某些表内部。
我尝试用https://recovery.twindb.com/检查我的数据库文件,结果表明“ mysql”数据库中的某些表需要恢复,“生产”数据库(我的)中的表还可以,确实可以看到我在该网站上的所有数据。 如何轻松恢复我的数据?我可以使用一些免费工具或脚本吗? 我拥有所有文件,分别为ibdata01,*。frm,*。ibd
答案 0 :(得分:0)
您可以使用Undrop for InnoDB在recovery.twindb.com后面的工具。 要恢复损坏的数据库,您需要执行https://twindb.com/recover-corrupt-mysql-database/
中的步骤解析ibd文件:
# ./stream_parser -f /var/lib/mysql/sakila/actor.ibd
PRIMARY索引中的转储记录:
# ./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