700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mysql如何增量备份_mysql实现增量备份

mysql如何增量备份_mysql实现增量备份

时间:2018-09-19 08:42:12

相关推荐

mysql如何增量备份_mysql实现增量备份

有点要注意 如果你误删了表 想通过这个恢复 必须恢复日志里面有创建表的日志 不然的话是无法回复的 就是必须是从你开始创建表的时候就已经记录日志了

恢复到哪个位置 就按照哪个位置来计算

mysql 5.0不支持增量备份

增量备份定义

mysql数据库会以二进制形式 自动把用户对mysql数据库的操作 记录到文件 当用户希望恢复的时候可以使用备份文件 进行回复

增量备份会记录 (dml 语句 建表语句 不会记录select语句)

记录的 (a 操作语句本身 b 操作的时间 c 操作的位置 position)

实例

配置 my.ini文件 或者 my.conf 启用二进制备份

log-bin=e:/mysqldb/logbin.log 先设置mysql日志存放位置

配置好后 再启动模样上去了 就会在备份目录多了2个文件

logbin.index 这个是索引文件 有哪些增量备份

logbin.000001 存放用户对数据库操作的文件

如果你想看看 这个 里面是什么东西 我们可以使用 mysql的bin目录下面的一个工具查看

就是 mysqlbinlog.exe 这个东西看

首先用cmd进入 mysql的 bin目录下面 然后执行

mysqlbinlog e:/mysqldb/logbin.000001

mysql 对于你的每一次操作 都会记录一次时间 同时 给你分配一个位置 (pos)

换句话说 以后我们恢复 可以根据时间点来恢复 或者根据位置来恢复

比如说 我们把一个表个drop 了 那么我们只要把表恢复到 drop之前就好了

时间点恢复

我们可以画个流程图

logbin.000001

insert ...... 3 -07-23 17:57:00

update ..... 4 -07-23 17:59:00

insert ...... 100 -07-23 19:57:00

drop ... 101 -07-23 20:57:00

恢复的话可以这么写

mysqlbinlog --stop-datatime="-07-23 20:50:00"e:/mysqldb/logbin.000001

上面这句的意思是 一直恢复到-07-23 20:50:00 停止

mysqlbinlog --start-datatime="-07-23 20:50:00"e:/mysqldb/logbin.000001

上面这句的意思是 从-07-23 20:50:00 开始恢复

按照位置来恢复

mysqlbinlog --stop-position="100"e:/mysqldb/logbin.000001 |

上面这个语句意思是 恢复到100的位置

真实性恢复

按照位置恢复

mysqlbinlog --stop-position=4590e:/mysqldb/logbin.000001 | mysql -uroot -p

按照时间恢复

mysqlbinlog

--stop-datetime

="-07-24 18:17:19"

e:/mysqldb/logbin.000001

| mysql -uroot -p

可以控制从什么时候开始 到什么是结束

mysqlbinlog--start-position=4--stop-position=106 yueliangd ao_binglog.000001 > c:\\test1.txt

在工作中 可以每周一做一个全备份 就是 mysqldump

然后 启用我们的增量备份 把过期时间设为 大于等于7天

如果数据库崩溃了 就可以通过时间和位置来恢复

如何关闭 mysql 自动记录日志

找到log-bin=mysql-bin,前面添加#即可。

个别版本需要关闭

binlog_format=mixed前面添加#,否则会出现mysql无法启动。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。