首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >innodb_force_recovery

innodb_force_recovery
EN

Database Administration用户
提问于 2020-10-13 10:37:09
回答 2查看 235关注 0票数 0

我做了一次无害的恢复。我从1->开始,在5 MySQL上启动.我能做得更好。

客户现在说有些数据是错误的。(引用另一表)

这个是可能的吗?

EN

回答 2

Database Administration用户

发布于 2020-10-13 10:53:15

我做了一次无害的恢复。客户现在说有些数据是错误的。这个是可能的吗?

简短回答:是的。

任何形式的恢复都可能导致数据丢失。

使用无害的强制恢复,您正在告诉DBMS让数据库恢复并以任何可能的方式运行,不管这对数据库中的数据那曾经是意味着什么。

想必是因为数据库或运行它的服务器出了问题,所以您执行了强制恢复吗?

您的第一个想法应该是从备份中恢复数据库(毕竟,备份只允许您这样做)。

试图让MySQL尝试拼凑一些可能不在磁盘上的东西,这是愚蠢的差事。

票数 0
EN

Database Administration用户

发布于 2020-10-13 10:57:56

innodb_force_recovery使用5的值将不会处理撤消日志。从部分完成的事务被持久化的角度来看,这可能导致数据损坏(即使是以错误结束的事务也需要回滚!)。我不希望看到“意外”的数据。

我不知道您所说的“某些数据是另一个表的wrong...references”是什么意思,但是如果您指的是引用行不存在的外键,这将是有意义的,因为部分完成(甚至部分回滚)事务可能会导致这种情况。

来自医生们

5 (SRV_FORCE_NO_UNDO_LOG_SCAN) 在启动数据库时不查看撤消日志: InnoDB将甚至不完整的事务视为已提交。此值可永久损坏数据文件。将InnoDB设置为只读。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/277973

复制
相关文章

相似问题

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