有点要注意 如果你误删了表 想通过这个恢复 必须恢复日志里面有创建表的日志 不然的话是无法回复的 就是必须是从你开始创建表的时候就已经记录日志了 ,恢复到哪个位置 就按照哪个位置来计算,mysql 5.0不支持增量备份。
增量备份定义:mysql数据库会以二进制形式 自动把用户对mysql数据库的操作 记录到文件 当用户希望恢复的时候可以使用备份文件 进行回复
1.增量备份会记录 (dml 语句 建表语句
不会记录select语句
)
2.记录的 (a 操作语句本身 b 操作的时间 c 操作的位置 position)
实例方法步骤
1.配置 my.ini文件 或者 my.conf 启用二进制备份
配置好后 ,再重启,就会在备份目录多了2个文件
logbin.index 这个是索引文件 有哪些增量备份
logbin.000001 存放用户对数据库操作的文件
2.如果你想看看 这个 里面是什么东西 我们可以使用 mysql的bin目录下面的一个工具查看
就是 mysqlbinlog.exe 这个东西看
首先用cmd进入 mysql的 bin目录下面 然后执行
mysqlbinlog D:\wamp\bin\mysql\mylog.000001
mysql 对于你的每一次操作 都会记录一次时间 同时 给你分配一个位置 (pos)
换句话说 以后我们恢复 可以根据时间点来恢复 或者根据位置来恢复
数据恢复
比如说 我们把一个表个drop 了 那么我们只要把表恢复到 drop之前就好了
1.时间点恢复
恢复的话可以这么写
mysqlbinlog --stop-datatime="2013-07-23 20:50:00"
D:\wamp\bin\mysql\logbin.000001
| mysql -uroot -p
上面这句的意思是 一直恢复到 2013-07-23 20:50:00 停止
mysqlbinlog --start-datatime="2013-07-23 20:50:00"
D:\wamp\bin\mysql\logbin.000001
| mysql -uroot -p
上面这句的意思是 从2013-07-23 20:50:00 开始恢复
恢复某个时间段的数据
mysqlbinlog --stop-datatime="2013-07-23 20:50:00" --start-datatime="2013-07-23 20:50:00"
D:\wamp\bin\mysql\
logbin.000001 | mysql -uroot -p
2.按照位置来恢复
mysqlbinlog --stop-position="100" D:\wamp\bin\mysql\logbin.000001
| mysql -uroot -p
上面这个语句意思是 恢复到100的位置
如何在工作中配合使用全备份和增量备份。
每周一做一个全备份mysqldump,启动增量备份,把过期时间设为>7.
如何关闭 mysql 自动记录日志