大家好,有个问题想请教大家.
我在my.ini文件里添加了如下项:
log-bin=d:/123.log
log=d:/sql.log然后在mysql客户端里操作.
use tennis
show tables
delete from orders操作之后.二进制文件已经有记录了.但现在我想回到delete之前状态.也就是想恢复数据.现在我的操作是:mysqlbinlog --stop-date="2007-09-04 20:19:31" 123.000001然后再进行mysql...但是数据没有恢复过来.请问.我该怎么做呢?

解决方案 »

  1.   

    mysqlbinlog --stop-date="2007-09-04 20:19:31" 123.000001 | mysql -uroot -p你的密码
      

  2.   

    你先查看一下你的LOG里面有没有INSERT语句?
      

  3.   

    这个是我LOG中的一部分。
    C:\>mysqlbinlog d:\lamp\mysql\log_bin.000002 > test_log.txt......
    # at 801
    #795 16:52:14 server id 1  end_log_pos 1273  Query thread_id=9 exec_time=0 error_code=0
    SET TIMESTAMP=1188982334/*!*/;
    CREATE TABLE `temp2` (
      `1` varchar(255) CHARACTER SET gb2312 NOT NULL,
      `2` varchar(255) CHARACTER SET gb2312 NOT NULL,
      `3` varchar(255) CHARACTER SET gb2312 NOT NULL,
      `4` varchar(255) CHARACTER SET gb2312 NOT NULL,
      `5` varchar(255) CHARACTER SET gb2312 NOT NULL,
      `6` varchar(255) CHARACTER SET gb2312 NOT NULL,
      `7` varchar(255) CHARACTER SET gb2312 NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8/*!*/;
    # at 1273
    #795 16:52:14 server id 1  end_log_pos 1381  Query thread_id=9 exec_time=0 error_code=0
    SET TIMESTAMP=1188982334/*!*/;
    /*!40000 ALTER TABLE `temp2` DISABLE KEYS *//*!*/;
    # at 1381
    #795 16:52:14 server id 1  end_log_pos 390  Query thread_id=9 exec_time=0 error_code=0
    SET TIMESTAMP=1188982334/*!*/;
    INSERT INTO `temp2` VALUES ('1','1','1','2','2','2','3'),('10','15','20','80','100','60','500'),('aaaa','bbbb','cccc','aaaa','bbbb','dddd','dddd'),('1','2','3','4','5','6','7'),('1','1','1','2','2','2','3'),('10','15','20','80','100','60','500'),('aaaa','bbbb','cccc','aaaa','bbbb','dddd','dddd'),('1','2','3','4','5','6','7')/*!*/;
    # at 1771
    #795 16:52:14 server id 1  end_log_pos 1798  Xid = 111
    COMMIT/*!*/;
    # at 1798
    #795 16:52:14 server id 1  end_log_pos 1905  Query thread_id=9 exec_time=0 error_code=0
    SET TIMESTAMP=1188982334/*!*/;
    /*!40000 ALTER TABLE `temp2` ENABLE KEYS *//*!*/;
    DELIMITER ;
    # End of log file
    ROLLBACK /* added by mysqlbinlog */;
    /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
      

  4.   

    哦.那我的日志是没有insert
    我是这样的.就是我的数据.是在我启动日志之前创建的.创建之后.我就启动了二进制日志.
    然后进行了delete操作.现在我想回到delete操作之前的状态..
      

  5.   

    那就是说日志里一定要有insert才能恢复咯?.