现有一张表t 在abc库里面
mysql> select count(*) from t;
+----------+
| count(*) |
+----------+
|       35 |
+----------+
1 row in set (0.00 sec)此时做个全备
[root@gc2 mysql]# mysqldump -uroot -pmysql -F abc>all.sql最新的bin-log
 mysql-bin.000002  对t表进行一点操作
mysql> insert into t values(1),(2),(3),(4),(5);
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0mysql> select count(*) from t;
+----------+
| count(*) |
+----------+
|       40 |
+----------+
1 row in set (0.00 sec)
假如此时做个完全恢复!
[root@gc2 mysql]# mysql -uroot -pmysql  abc<all.sql
mysql> select count(*) from t;
+----------+
| count(*) |
+----------+
|       35 |
+----------+
1 row in set (0.00 sec)应用日志
[root@gc2 mysql]# mysqlbinlog mysql-bin.000002|mysql -uroot -pmysql
mysql> select count(*) from t;
+----------+
| count(*) |
+----------+
|       35 |
+----------+
1 row in set (0.00 sec)   -----????????为什么还是35条。。后面插入的那5条呢!!我很无语啊!!
为什么日志都没有被应用!!这是什么状况啊!!!

解决方案 »

  1.   

    但是我是应用日志做的完全恢复啊!!应该不会丢失数据的额!!和oracle一样的嘛!!!我今天又做了好几遍试验,发现得在利用全备恢复之前再刷新一下日志,然后应用到第二新的那个日志就可以完全恢复了!!因为最新的那个日志记录的是完全恢复的语句!不能应用!!不然会重复一遍全备的恢复!!
    以上是小弟做实验观察的结果!与官方文档和网上有点细微的差别,就是恢复前再刷新一遍日志!!!~~不知为何