
打开mysql的bin log功能:对于mysql也是支持增量备份,但要打开mysql的bin log功能。我们修改mysql的配置文件。linux是/etc/myf,windows是mysql的安装目录/my.ini我们在[mysqld]下面加上log-bin一行代码,如下面。[mysqld]log-bin=mysql-bin复制代码加完后重起mysql即可。某客户更新数据的时候,误删了数据库的内容,因为数据库做了主从,但是没有做备份(备份很重要啊!)幸好开启了bin-log,之后只好把整个日志的记录拿回来本地进行恢复。之后自己也做了一个简单的测试,对数据进行恢复,具体如下:1、新建一个表CREATE TABLE `lynn`.`sn_test` ( `name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , `age` INT( 3 ) NOT NULL ) ENGINE = MYISAM;2、插入多条数据INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn1', '1');INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn2', '2'); INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn3', '3'); INSERT INTO `lynn`.`sn_test` (`name`, `age`) VALUES ('lynn4', '4');3、查看数据并删除mysql> select * from sn_test; ------- ----- | name | age | --------- --- | lynn1 | 1 || lynn2 | 2 || lynn3 | 3 || lynn4 | 4 | --------- ----- 4 rows in set (0.00 sec)mysql> delete from sn_test;Query OK, 4 rows affected (0.00 sec)mysql> select * from sn_test;Empty set (0.00 sec)4、mysqlbinlog恢复数据mysqlbinlog mysql-bin.000006 > 1.sql查看1.txt里面数据插入的纪录,把删除之前的数据进行恢复mysqlbinlog mysql-bin.000006 --start-position=2471 --stop-position=2876 | mysql -uroot -p123重新登录,查看数据,OK,已经成功恢复了对于数据库操作,应该注意如下问题1、要常备份(全备,增量备份),出了问题可以最快恢复数据;2、操作数据库前,要把需要操作的数据库或者表dump出来;3、需要把bin-log打开,就算没有做上面的两步,也可以通过日志恢复数据二、Access记录删除可以恢复吗?
1、已经删除的记录是无法恢复的,ACCESS 不是 FOXPRO,MDB 格式不是 DBF 格式,没有逻辑删除和物理删除的概念,一旦删除就无法恢复了。2、无法恢复,但是你可以查看一下,有没有隐藏的以 "~" 符号开头的表,更改该表的名称有可能找回你需要的表。3、无法恢复,但是你可以查看一下有没有系统隐藏的对象,有时候对象被删除时系统并不直接删除,而是更改对象名后隐藏它。4、数据库体积的确没有变小,你压缩修复数据库后体积就会变小了。那是因为在二进制上你的数据的确没有被删除,仍然存放在磁盘的某个扇区,但是微软没有提供 MDB 格式二进制组织方式的参考资料(微软也不会提供,其他第三方公司也没有权利直接反编译 MDB 格式)。至今为止,中国大陆我也没有看到过相关的参考资料。所以目前为止,你已经删除的数据是无法恢复的。但是你可以尝试使用磁盘恢复软件来找到恢复数据的方法,但是该方法不在本文讨论范围。