[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
数据库技术
> 详细
MySQL 增量备份与还原
时间:
2018-09-19 11:15:44
阅读:
239
评论:
0
收藏:
0
[点我收藏+]
说明:
所谓增量备份,就是备份自上一次备份之后增加或改变的文件或内容。然而MySQL没有提供直接的增量备份方法,但是却可以通过MySQL的二进制日志间接实现增量备份。下面有关操作方法进行测试。
.
.
实验环境:装有MySQL 5.7 数据库的CentOS7虚拟机一台
.
.
实验步骤如下:
.
.
1 .进入配置文件添加二进制日志
vim /etc/my.cnf
[mysqld]
在其中插入二进制日志
log_bin=mysql-bin #二进制日志
.
.
2 . 然后重启数据库,到日志文件目录下查看一下
.
.
3 . 新建数据库,并在其中新建数据表,写入数据
.
.
4 .重新生成一个日志文件,这样刚才的操作步骤都会保存在第一个二进制文件中
mysqladmin -u root -p flush-logs#重新生成二进制文件
.
.
5 . 将刚才新建的数据库删除,然后使用恢复命令恢复数据库
mysqlbinlog --no-defaults mysql-bin.000001 | mysql -u root -p #日志文件恢复
.
.
6 . 可以查看到数据库已经被恢复好
.
.
7 .接下来,测试误操作之后的恢复(两种方法,一是利用时间点,二是利用位置点)先进行时间点的操作
在表中插入数据
下一步,删除表中一条数据(误操作)
然后再插入一条数据
这样,误操作的一条命令已经被覆盖
.
.
8 . 重新生成一个二进制日志
mysqladmin -u root -p flush-logs#创建新日志
.
.
9 . mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002#64位解码查看日志文件,防乱码
在其中需要找到两个时间点
(1) 删除数据的时间点
(2) 删除之后下一步正确操作时间点
.
.
10 . 找到两个时间点之后,用这两个时间点进行恢复
mysqlbinlog --no-defaults --stop-datetime=‘2018-09-03 16:38:08‘ /usr/local/mysql/data/mysql-bin.000002 | mysql -u root -p#恢复到错误时间点
mysqlbinlog --no-defaults --start-datetime=‘2018-09-03 16:39:08‘ /usr/local/mysql/data/mysql-bin.000002 | mysql -u root -p#从下一个正确时间点恢复
.
.
11 . 这样被误删除的数据就恢复好了
.
.
12 . 下面根据位置点,再进行恢复
同样把数据恢复到误删除
.
.
13 . mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000002 #64位解码查看日志文件,防乱码
找到错误点执行的命令后,复制上一次可正确执行的位置(at后面就是位置号)
然后找到下一次可执行的命令,同样复制上一次可正确执行的位置
.
.
14 . 利用位置点进行恢复
mysqlbinlog --no-defaults --stop-datetime=‘1950‘ /usr/local/mysql/data/mysql-bin.000002 | mysql -u root -p#恢复到错误时间点
mysqlbinlog --no-defaults --start-datetime=‘2223‘ /usr/local/mysql/data/mysql-bin.000002 | mysql -u root -p#从下一个正确时间点恢复
最后查看结果,测试完成
MySQL 增量备份与还原
原文:http://blog.51cto.com/13756925/2176945
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!