注册

mysql表删除了怎么恢复

mysql 表误删恢复有两种方法:二进制日志恢复:确认开启二进制日志使用 mysqlbinlog 找出删除表的二进制日志将二进制日志导入或重新应用数据文件恢复:找到被删表的 .frm、.ibd 和 .myi 文件创建相同结构的新表停止 mysql 并替换新表的文件为旧文件启动 mysql 并检查新表数据

MySQL 表误删恢复方法

当 MySQL 表被意外删除时,有两种方法可以尝试恢复:

方法一:二进制日志 (binlog)

  1. 确认服务器启用二进制日志记录。
  2. 使用以下命令找出删除表的二进制日志:
mysqlbinlog --start-position=NNN --stop-position=MMM --database=

其中,NNN 和 MMM 是删除操作发生前后的二进制日志位置。

  1. 将找到的二进制日志导入另一个数据库实例或执行以下命令重新应用:
mysql --binlog=

方法二:数据文件恢复

  1. 找到被删除表的 .frm、.ibd 和 .MYI 文件,它们通常位于 MySQL 数据目录的 mysql/data/ 子目录中。
  2. 在另一个 MySQL 实例中,创建与被删除表结构相同的新表。
  3. 停止 MySQL 实例并替换新表的 .frm、.ibd 和 .MYI 文件为已删除表的相应文件。
  4. 启动 MySQL 实例并检查新表是否包含已删除表的数据。

注意事项:

  • 以上方法仅适用于表的逻辑删除,物理删除无法恢复。
  • 二进制日志恢复需要启用二进制日志记录。
  • 数据文件恢复需要确保已删除表的文件未被覆盖或修改。

以上就是mysql表删除了怎么恢复的详细内容,更多请关注CTO智库其它相关文章!