我的树莓派(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
最佳答案
您可以使用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
关于mysql - 从 MySQL 数据库修复/恢复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52275850/