从联机服务器还原截断的表



我不小心从在线服务器截断了我的表,无法备份它。请任何人帮助我做什么。

最可行,工作量最少:

  • 从备份
    • 再次检查您是否有
    • 询问您的主机托管商是否进行备份;他们对某些设置的默认配置可能包括您不知道的备份,例如WordPress的数据库备份或文件备份(如果您有虚拟机(

在某些情况下可行,如果适用,工作量很小:

  • 从二进制日志。检查它们是否已启用(也许作为主机默认配置的一部分,也可能只有主机商可以访问它们,因此您可能需要询问他们(。它们包含对数据库的最新更改,如果幸运的话,"最近"可能足够长,可以包含所有内容

可行性降低,工作量增加:

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

最不可行,工作量最多,最昂贵:

  • 从理论上讲,由于数据仍然存储在硬盘驱动器上,直到被新数据覆盖,因此您可以尝试恢复数据,类似于在硬盘驱动器上查找丢失块或删除的文件的工具
    • 您需要停止硬盘驱动器上的任何活动以增加成功的可能性。这将取决于您的配置和设置。例如,在共享主机中,释放的磁盘空间可能会被您无法控制的其他用户覆盖,另一方面,如果您使用的是innodb并禁用了innodb_file_per_table,则数据存储在单个文件中(并且磁盘空间不会被释放(,因此停止mysql服务器应该防止任何剩余的可恢复数据被覆盖。
    • 虽然有一些工具可以帮助您,但您可能需要付钱给某人为您做这件事(即使这样,您也只能取回到目前为止尚未被覆盖的数据(,因此此选项很可能仅在您的数据非常有价值时才可行

最新更新