phpmyadmin误删表后如何恢复

用mysqlbinlog

php处理代码:

将mysql-bin.xxxxxx文件导出为可读文本:

<?php
//导出mysql-bin.000xxx文件为可读性txt文本
//0为执行成功,1为失败
//system("cd D:/wamp/bin/mysql/mysql5.5.8/data",$comReturn);
for ($i=200;$i<267;$i++){
$command = "D:/wamp/bin/mysql/mysql5.5.8/bin/mysqlbinlog D:/wamp/bin/mysql/mysql5.5.8/data/mysql-bin.000".$i." >> D:/baksql/baksqlaa.txt";
system($command,$comReturn);
var_dump($comReturn);
}
?>

分离出需要执行的语句:

<?php
//导出sql语句
$file = "D:/baksql/baksqlaa.txt";
$arr = file($file);
$str = ‘‘;
$insert = "INSERT INTO `che`.`che_tuangou`";
$update = "UPDATE `che`.`che_tuangou`";

foreach ($arr as $v){
    if (stripos($v, $insert) !==false) {
        $str .= $v.";\r\n";
    }
}
file_put_contents("D:/insertsql.txt", $str);
?>
时间: 2024-11-07 09:59:57

phpmyadmin误删表后如何恢复的相关文章

phpmyadmin误删表后的恢复过程

话说今天不知道是抽风了还是失魂了,在用phpmyadmin删除测试数据时,竟然将整个表删除了: 等程序运行出错时,才出现整个表都没有了,而且之前也没有备份好!这下蛋疼了,这个可是production服务器,里面的数据可不能丢啊! 服务器是linux的,我不是很熟悉,也不知道mysql装在哪. 无奈之下,google,发现有不少人也有像我一样犯傻的一回,但是几乎没有看到具体的解决方法(有说用硬盘软件找回,也有说用二进制文件找回),但是我本身对服务器不大懂,觉得好纠结,那边又在催说数据怎么没有了,还

linux 7.2误删glibc后的恢复

今天要在一台测试服务器上装Oracle,用yum安装依赖包老是提示glibc版本冲突,原来已经安装的版本比较高,于是手欠直接rpm -e 把glibc和glibc-common给删除了,然后运维直接来找我说服务器登录不上去了,然后我这边也一直在报错: -bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory 不管执行什么操作都是报上面的错误,心想这下完蛋了,是不是

己亥清爽恢复系列之数据文件4篇:DROP表后如何恢复(非闪回技术)

己亥清爽系列说明:清爽系列是作为恢复系列的基础篇,基于FS(File System)文件系统的手工还原恢复,也叫基于用户管理的还原恢复,来自于博客园AskScuti. 实验说明:你不小心Drop掉了一张表数据,且没能及时反应过来,后面才恍然大悟,想利用闪回Drop技术进行闪回操作,可发现表空间被挤占,导致回收站里改表已被清空.如何进行手工不完全还原恢复操作.注:在数据文件.控制文件.在线日志和归档日志都完整的情况下. 基于版本:Oracle 11gR2 11.2.0.4 AskScuti 概念说

mysql误删root后如何恢复root账户

系统:CentOS release 6.5 (Final)内核:2.6.32-431.el6.x86_64MySQL版本:5.5.28-log Source distribution操作步骤:1.停止mysql服务#service mysqld stop2.以安全模式进入mysql#mysqld_safe --skip-grant-tables &#mysql -u root -p \此时密码为空3.重建rootmysql>USE mysql;mysql>INSERT INTO use

Oracle误删一个表数据的恢复方案

同事找回时操作的数据库为oracle 10g , 之前删除方式为delete 不晓得trancate好使不 SCN(系统改变号),它的英文全拼为:System Change Number ,它是数据库中非常重要的一个数据结构. SCN提供了Oracle的内部时钟机制,可被看作逻辑时钟,这对于恢复操作是至关重要的 注释:Oracle 仅根据 SCN 执行恢复. 它定义了数据库在某个确切时刻提交的版本.在事物提交时,它被赋予一个唯一的标示事物的SCN .一些人认为 SCN 是指, System Co

linux 误删文件后 恢复

LINUX误删文件后,为了把损失降低到最低,进行如下操作: 一:卸载或者以只读的方式挂载需要恢复的分区: example:  umount  /dev/sdb1      #卸载挂载的sdb1 二:安装extundelete   (需要epel源进行支持) example:yum -y install extundelete 三:查看sdb1分区里文件对应的inode example:extundelete /dev/sdb1  --inode 2 文件名    inode    deltete

MyISAM表的.frm文件丢失后的恢复方法

MyISAM表的.frm文件丢失后的恢复方法: 1.创建实验用的MyISAM表t1,并插入数据: mysql> create table t1(id int) engine=myisam; Query OK, 0 rows affected (0.01 sec) mysql> insert into t1 values(1),(2),(3),(4),(5),(6),(7),(8); Query OK, 8 rows affected (0.00 sec) Records: 8  Duplica

[课]9.2模拟数据库,表空间和数据文件损坏后的恢复操作

1环境准备 对数据库做一次全备份: 验证当前的备份文件: 2数据库损坏的恢复 2.1模拟数据库损坏 尝试重启数据库查看报错: 这里需要重点说明的是因为我们用的是CATLOG数据库作为目录数据库,所以即使控制文件丢失也不影响我们进行恢复. 现在我们查看一下告警文件的报错: 2.2进行数据库恢复 3表空间损坏的恢复 3.1模拟表空间损坏 查看当前库的表空间,现在我们就模拟TEST_MSSM和TEST_ASSM表空间损坏. 删除表空间文件: 重启数据库查看报错信息: 我们查询一下告警文件里的错误信息:

Oracle数据表被drop后的恢复

对于被drop的表和索引,都会存放在回收站中(所以对于生产的数据库必须设置好回收站功能) 因为本次生成环境在drop掉已有的表后,重新创建了许多的表,所有直接还原的话会提示原有对象存在,表名重复.其中解决方法是:先重命名已经存在的表名,让后还原删除的表,最后进行数据合并 1 重命名已经存在的表 spool bak.txt select 'alter table '||t.original_name||' rename to '||t.original_name||'_bak;',' select