在操作数据库过程中如果不小心删除了某个记录或某个表时,如果你开启了二进制日志可以进行即时恢复

恢复方式有两种
这里说的是关于基于位置的恢复
下面的动作适用于:你执行了一些错误的数据库操作导致数据不完整时,比如你drop了一个表或者delete一些记录时
我下面的测试错误操作就是drop lee1这个表
 

 
  1. mysql> show master status\G 
  2. *************************** 1. row *************************** 
  3.             File: mysql-bin.000001 
  4.         Position: 4266 
  5.     Binlog_Do_DB:  
  6. Binlog_Ignore_DB:  
  7. 1 row in set (0.00 sec) 
 
显示你当前正在使用的bin文件
然后你是用命令查看这个二进制内容
 
  1. mysql>show binlog events in "mysql-bin.000001" from 107; 
 

记录下你所做的错误操作的上个位置  我这里就是2285,因为是drop了lee1这个表 所以要找到创建这个表的位置处

我这里的位置就是188

退出mysql在命令行下使用mysqlbinlog命令来做即时点恢复,命令格式就是这样了
 
  1. [root@www ~]# mysqlbinlog --start-position="188" --stop-position="2285" /var/lib/mysql/mysql-bin.000001|mysql -uroot -pPASSWD 
我们来看看效果
 

 

posted on 2013-05-09 09:17  狐狸v  阅读(332)  评论(0编辑  收藏  举报