从在线服务器恢复截断的表

问题描述 投票:0回答:1

我不小心从在线服务器截断了我的表,我无法备份它。请有人帮我解决我该怎么办的问题。

mysql database hosting truncate
1个回答
0
投票

最可行,最少的工作:

  • 从备份 如果你有,请再次检查 问你的主人,如果they do backups;某些设置的默认配置可能包括您不知道的备份,例如:如果你有一个虚拟机,则为wordpress或文件备份提供数据库备份

在某些情况下可行,如果适用,几乎没有工作:

  • 来自binary logs。检查它们是否已启用(可能是托管服务器默认配置的一部分,也可能只有托管服务商可以访问它们,因此您可能需要询问它们)。它们包含对数据库的最新更改,如果您幸运,“最近”可能足够长,可以包含所有内容

不太可行,更多的工作:

  • 尝试从相关数据中恢复,例如历史表,其他相关表或日志文件(例如,应用程序创建的mysql general query log或日志文件);您可以尝试分析它们以找出表中应该包含的内容

最不可行,大多数工作,最昂贵的:

  • 理论上,由于数据仍然存储在硬盘上,直到被新数据覆盖,您可以尝试恢复数据,类似于在硬盘上找到丢失的块或删除的文件的工具 您需要停止硬盘上的任何活动以增加成功的可能性。这取决于您的配置和设置。例如,在共享主机中,释放的磁盘空间可能会被您无法控制的其他用户覆盖,另一方面,如果您使用innodb并禁用innodb_file_per_table,则数据存储在单个文件中(并且磁盘空间未被释放),所以停止你的mysql服务器应该防止任何剩余的可恢复数据被覆盖。 虽然有some tools可以帮助你,你可能需要付钱给别人为你做这件事(即使那时你只收回到目前为止尚未被覆盖的数据),所以这个选项很可能只有可行如果您的数据非常有价值
© www.soinside.com 2019 - 2024. All rights reserved.