数据库删除了数据是一个很棘手的问题,数据的删除首先包括三个层面:
1.删除放入回收站,没有在回收站中清除数据。这种情况是最简单的,进入回收站,找到删除的数据,右击选择恢复。
2.删除后未放入回收站或者删除后清空回收站,尽量先不要往原数据所在盘符下储存内容,刚刚删除的数据只是文件结构被删除,真正的文件数据还没被覆盖。通过数据恢复软件是可以找回来的,专业的软件例如有超级兔子数据恢复软件。
3.如果是删除很久以后才想到数据库数据要恢复,并且磁盘一直在使用,磁盘被填满的话数据就已经被覆盖了,这样的数据是无法找回的。
我认为有两个办法:1、如果能够备份“置疑”数据库的话,现备份出来,然后删除该数据库,最后由备份出来的文件恢复。
2、如果无法备份可以采取先停止sql
server,然后到sql安装目录的data(系统默认时这里,也可能在其他你放置的目录下)目录下找到该“置疑”数据库文件和日志文件拷贝到其他目录,启动sql
server,删除该数据库,将考出的数据库文件和日志文件考回原目录,最后用这两个文件通过数据库附加的方法恢复原数据库。
看到一个这样的解决方式不知道能不能帮助你:phpmyadmin的后台数据库是mysql,下面或许有用。
《mysql数据恢复工具-mysqlbinlog 使用说明》
要使用此功能,首先必须确保mysql配置文件“My.ini”中的
[mysqld] log-bin=log_name #开启二进制日志(其中log_name自己定义)
开启的作用就是开启mysql的二进制日志,然后才可以使用mysqlbinlog工具恢复数据,
开启之后通过在mysql中运行:
SHOW BINLOG EVENTS
来确认二进制日志的开启情况
mysqlbinlog有两种方式来恢复数据:(Mysqldatalog.exe在“MySql\bin\”目录下)
1.通过指定时间:
Mysqldatalog>mysqlbinlog --start-date="2009-11-27 14:01:00" --stop-date="2009-11-27 14:59:59" log_name.000001 >D:\01.txt
2.通过指定位置:
参数说明:
•–start-position=N 从二进制日志中第1个位置等于N参量时的事件开始读。
•–stop-position=N 从二进制日志中第1个位置等于和大于N参量时的事件起停止读。
Mysqldatalog>mysqlbinlog --start-position=123 --end-position=456 log_name.000001 >D:\01.txt
关于position的说明:position可以通过执行SHOW BINLOG EVENTS命令来查看 然后进入mysql中执行source 命令 mysql>source D:\01.txt 恢复数据完成。
最后说明:mysqlbinlog工具虽然很强大,但是为保数据不丢失最好还是跟备份数据同步使用。这样恢复数据就可以仅从最后一次备份开始到事故发生时间。
个人现在备份数据库都是采用“多备份”的多云盘自动备份,在怎么误删除也可以找的回来,有个好工具还是需要的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)