MySQL删除表怎么恢复 如何恢复mysql数据库中被删除的表
MySQL删除表怎么恢复?
情况1、如果你有该库的整体备份或对这个表的单独备份,那么也许可以恢复。可以将最新的备份恢复到一个备用的服务器上,导出那表的内容,完成恢复
情况2、如果没有任何备份,那就基本没戏了。一般删除表的操作是drop table,日志中不会记录删除具体行数的记录。表所对应目录下的文件已经被删除(innodb独立表空间,单表归为一文件)。同样的情况适用于myisam数据库引擎,对应的myd/myi/frm文件均被删除。这不像windows还有垃圾箱,是不可逆的操作
如何恢复mysql数据库中被删除的表
1 找个别的机器安装个同版本的mysql或从已安装同版本的其他机器上(非同版本的也可以试下):
拷贝 mysql/data/mysql 目录到你的mysql/data/ 下吧
2 试着启动mysql服务,如果能启动了,理论上应该丢失的只有用户、授权等一些系统信息,不影响你的使用的数据;
如果不能启动,看错误日志,争取启动了。
3 赶紧把数据备份一份出来,重新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了,重新导入一遍。理论上不这样也可以,但只是非生产重要的环境下。
4 重新做用户授权。
mysql删除的表格怎么恢复数据
MySQL开启binlog后,写入操作都会记录到二进制日志里,可以使用mysqlbinlog查看/导出/恢复数据.
假设你之前进行了 mysqldump全量备份,和binlog增量备份(在mysqldump全量备份时使用参数--flush-logs清除全量备份前的binlog).
先恢复之前用mysqldump进行的全量备份,然后用 mysqlbinlog进行时间点还原:
如何恢复DB2中误删除表的数据
首先数据库要可以前滚恢复(数据库配置参数logretain或userexit打开)。
db2 connect to
dbname
db2 update db cfg using logretain on
db2 backup db dbname
(当打开归档日志后,该数据库会处于rollforward pending状态,所以要做一次全备份)