mysql5.7物理备份_Mysql5.7—运维常用备份方式

一、 Mysqldump备份结合binlog日志恢复

使用mysqldump进行全库备份,并使用binlog日志备份,还原时,可以使用binlog日志恢复到备份前的任意位置或时间

1. Binlog简介

主要用于主从复制和恢复数据库,使用mysqlbinlog命令查看binlog二进制日志文件

下面我们通过一个实例,演示,binlog是怎么恢复到某个时间点的

ab020beee64f9c971d64b616a9d99b23.png

重启mysql服务使配置生效

a5f0c9ba55ebba5ba51467e56fb2741b.png

验证binlog是否开启成功

8bae05e84c72779bf9e7b7afd8b93844.png

创建测试使用的数据库和表并插入数据

c13af85f65d9873b20ba3faca3cd4c4f.png

为了方便实验,我们将有误操作的记录,放到一个新的binlog日志文件中

f275de6eb6adeda8c903c3749a9b8ecc.png

现在发现删除zhangsan是误操作,现在需要将zhangsan恢复

,去查看binlog日志文件,根据位置实现将表还原到没有删除zhangsan时,然后跳过删除zhangsan的位置,恢复tom

1c6fd2e11d8d4568e4f58a35d31e98e9.png

可以做一个分析图,用来分析出,恢复时指定的区号

f176a1c50979b8fd2b35ac5c746b1a89.png

从此图可以分析出,mysql-bin.00001文件全部恢复即可,

Mysql-bin.00002的219-416区是不需要恢复的

下面开始模拟

首先根据需求导出部分binlog日志

83711b63ee5ce7e7e969bfeacf60ddd9.png

模拟删除数据库

2dd6115a7b7f075263a941b719c73677.png

通过binlog日志恢复

596bc44d54dc306621093a74b86195ce.png

验证

8294a40ef568d983a1f6c2ce69f54f80.png

2. Mysqldump简介

mysqldump是mysql用于备份和数据转移的一个工具;

将sql语句封装到文件,文件包含所有重建你的数据库所需要的 SQL命令如CREATE DATABASE,CREATE TABLE,INSERT等等,可以用来实现轻量级的快速迁移或恢复数据库

mysqldump 是将数据表导成 SQL 脚本文件,可以在不同的 MySQL 版本之间使用

mysqldump用于数据量很小的备份(大概几个G),当数据量大的时候不建议使用

导出对象:单个表、多个表、单个数据库、多个数据库、所有数据库

1) 示例

导出指定数据库或单个表

45a3882972dbf88b85fb0f76a443faf5.png

4e858c5959e16f5876298f87ce55429d.png

导出多个数据库

50b565efd12478ec3e41969451cd0915.png

导出所有

1dba4de8552312c11c8dfe6f55c689e7.png

完整备份数据库并重新开启一个新binlog

b00c902cf475b98c8a4bde893d664c9d.png

导入

0f6f73c8594033cbe8ac663a8073df1c.png

2)Mysqldump备份方案

周日凌晨1点全库备份;

周一到周六凌晨每隔4个小时增量备份一次;

设置crontab任务,每天执行备份脚本;

首先设置cronta任务

0501753382613efb7482810f2e3e7d3f.png

编辑mysqlfullbackup脚本

6757af0b26c3e10b58ae9d44b4405405.png

编辑mysqldailybackup.sh脚本内容

3f4288dfd07d55e08de245a555b541af.png

二、 Xtrabackup备份工具

1. Xtrabackup简介

Xtrabackup属于物理备份,支持物理热备,开源,性能比ibbackup强

Xtrabackup支持增量备份、完整备份、差异备份,与binlog日志组合

Xtrabackup提供两个命令行工具:

Xtrabackup:可以备份innodb和xtraDB存储引擎的表

Innobackupex:支持备份innodb和myisam表的存储引擎,使用perl语言编写,执行过程中会执行一个读锁

2. 注意事项

因为xtrabackup属于物理热备,所以在备份的时候可能出现已经提交但是没有将数据写入数据文件或没有提交的事务,所以在恢复时需要解决这个问题,使用—applog-log参数可以将已经备份的数据中已提交的数据写入数据文件,未提交的数据全部回滚,以保证数据的唯一性

数据恢复时需要删除data下的所有文件

还原后,需要设置恢复文件的属主属组,mysql才能正常运行

3. Xtrabakup的优点

备份速度快,可以用于较大的数据库,弥补mysqldump的部分不足

支持热备份,备份过程不打断事务的执行

支持压缩备份节约磁盘空间和流量

自动实现备份检验

还原速度快

4. Xtrabackup安装

首先下载xtrabackup并且进行安装

Wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz

b5f75f5690972ff0930fdaeeb3cdbc4f.png

e2702b59198c85adcf247a1c7d4181e3.png

安装相关插件

fd649cdc67cd811144abf1877f427045.png

安装percona-toolkit

5ce13b6c7028069cb5f759d3d616c53b.png

5. Xtrabackup+binkog

Xtrabackup+binlog可以实现时间点还原

1)首先创建备份目录

5ed19195ef49817d7f63de8ddb0953f5.png

2)注意开启binlog日志

581fdd610960411386e11aa03062afa5.png

3)执行完整备份(使用xtrabackup的“流”及“压缩备份”功能)

9d0e128d7f21c79a7ed988c4973d7191.png

4)查看备份

77e9aa80c180e5dd6886809896b51902.png

5)在生产环境中,还会备份binlog日志

可以使用—start-position和—stop-position以跳过误删除的位置,去备份binlog日志,这里不再演示

6)Xtrabackup还原

还原前需要解决数据一致性的问题

5b43b3449e98a6431d0a7b47b090d605.png

开始还原

3240ee8cebc73303e9b8b69d0f6ef600.png

为还原的文件设置属主属组

4d6bd26a73e68f59635d01f6f1dc9d8c.png

f2ead066530e2990e364de2e110e7ff5.png

最后如果需要恢复到某个时间点,可以利用备份的binlog日志文件恢复

6. 在生产环境中使用的备份用户可能不是root,这时需要注意权限了

e38c7fe45bb2369f8376583098fc7f02.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉查找树之二

BST树的经典问题 首先构造如下一棵二元查找树(BST树): C代码实现: typedef struct _BSTreeNode {int value;struct _BSTreeNode *left;struct _BSTreeNode *right;} BSTreeNode;static BSTreeNode* insert(BSTreeNode* q, int x) …

PS滤镜绘制漂亮线条制作

先看最后效果   1.新建一图层---选择画笔画条垂直线(颜色为白色)。  2.滤镜里面的动感模糊(大小视效果而定吧)  3.两头细的线条出来了  执行后效果如…

ffmpeg.exe 笔记

2019独角兽企业重金招聘Python工程师标准>>> open_input_file: avformat_open_input 打开了输入文件 av_dict_get 获取信息 setup_find_stream_info_opts avformat_find_stream_info codec avcodec_find_decoder open_output_file avformat_alloc_output_context2(…

java comparator排序顺序_Java 集合排序策略接口 Comparator

1. 前言 最近用到了集合排序&#xff08;基于 Java 8&#xff09;。现在我能用 Stream 的就用 Stream &#xff0c;真香&#xff01;排序可以这么写&#xff1a; List<People> peoples new ArrayList<>();// 中间省略// 按照年龄从小到大排序 peoples.sort(Compar…

TCP/IP、Http的区别

2019独角兽企业重金招聘Python工程师标准>>> TPC/IP协议是传输层协议&#xff0c;主要解决数据如何在网络中传输&#xff0c;而HTTP是应用层协议&#xff0c;主要解决如何包装数据。关于TCP/IP和HTTP协议的关系&#xff0c;网络有一段比较容易理解的介绍&#xff1a…

小程序循环里做字符串拼接_昨天还在for循环里写加号拼接字符串的那个同事,今天已经不在了...

引言都说 StringBuilder 在处理字符串拼接上效率要强于 String&#xff0c;但有时候我们的理解可能会存在一定的偏差。最近我在测试数据导入效率的时候就发现我以前对 StringBuilder 的部分理解是错误的。后来我通过实践测试 找原理 的方式搞清楚了这块的逻辑。现在将过程分享…

【T-SQL系列】新的排序函数

【T-SQL系列】新的排序函数 原文:【T-SQL系列】新的排序函数如&#xff1a;ROW_NUMBER、RANK、DENSE_RANK三个分析函数都是按照col1分组内从1开始排序 ROW_NUMBER() 是没有重复值的排序(即使两天记录相等也是不重复的)&#xff0c;可以利用它来实现分页 DENSE_RANK() 是连续排序…

java mysql修改表结构字段_【开发技术】java+mysql 更改表字段的步骤

1).首先通过SQL更改MYSQL库中的表结构(下面是一些例子)ALTER TABLE illegalactivate ADD macethaddress varchar(250) NOT NULL;Alter TABLE illegalactivate drop primary key;ALTER TABLE illegalactivate ADD CONSTRAINT PK_illegalactivate PRIMARY KEY ( macaddress…

阿里云rds升级mysql8_为更强大而生的开源关系型数据库来了!阿里云RDS for MySQL 8.0 正式上线!...

2019年5月29日15时&#xff0c;阿里云RDS for MySQL 8.0正式上线&#xff0c;使得阿里云成为紧跟社区步伐&#xff0c;发布MySQL最新版本的云厂商。RDS for MySQL 8.0 产品是阿里云推出的 MySQL 系列云产品之一&#xff0c;使用完全兼容 MySQL 8.0 的阿里云 AliSQL 8.0 分支&am…

mysql gtid 还是pxc_记一次 PXC 集群拆分引发的思考

原标题&#xff1a;记一次 PXC 集群拆分引发的思考作者简介冷正磊2018年2月加入去哪儿网 DBA 团队&#xff0c;主要负责机票业务的 MySQL 和 Redis 数据库的运维管理工作&#xff0c;以及数据库自动化运维平台部分功能的开发工作&#xff0c;对数据库技术具有浓厚兴趣&#xff…

java_IO总结(一)

所谓IO&#xff0c;也就是Input与Output的缩写。在java中&#xff0c;IO涉及的范围比较大&#xff0c;这里主要讨论针对文件内容的读写 其他知识点将放置后续章节&#xff08;我想&#xff0c;文章太长了&#xff0c;谁都没耐心翻到最后&#xff09; 对于文件内容的操作主要分为…

ocsng mysql connection problem_OCSNG 介绍及其工作原理

OCSNG部署&#xff1a;http://wowking.blog.51cto.com/1638252/994441OCSNG 是什么呢&#xff1f;OCSNG就是Open Computer and Software Inventory Next Generation是一款免费软件&#xff0c;它使用户能够盘点网络工程师的IT资产。OCS-NG收集有关运行OCS客户端程序(“OCS Inve…

hdu--5135--贪心

尽量选边数大的3根木棍来组成一个三角形 一直到无法选取为止 这边计算三角形面积 还是用 海伦公式比较方便 1 #include <iostream>2 #include <algorithm>3 #include <cmath>4 #include <cstring>5 #include <iomanip>6 using namespace std;7 …

【Daily Scrum】12-08

因为TFS的一些问题&#xff0c;到现在一直都看不了Sprint 3的burndown and burn rate. 今天的scrum发现这个Sprint期间大家组里的事情都比较多&#xff0c;不过大家还是有很努力地在晚上和周末来完成ASC Master的任务&#xff0c;辛苦~ Member Today’s WorkTomorrow’s WorkFe…

java 字符串转成图片_java 转换图片为字符串,将字符串转换成图片显示

java 转换图片为字符串&#xff0c;将字符串转换成图片显示&#xff0c;该方法只适用于比较小的图片传输&#xff0c;50K以内&#xff1a;try{// 将图片转换成字符串File imgFile new File("f:\\Vista.png");FileInputStream fis new FileInputStream( imgFile );b…

转移指令检测题9

补全编程&#xff0c;利用loop指令&#xff0c;实现在内存2000H段中查找第一个值为0的字节&#xff0c;找到后&#xff0c;将它的偏移地址存储在DX中 assume cs:code code segment start:mov ax,2000h mov ds,ax mov bx,0 s: mov cl,[bx] mov ch,0 inc cx ;此处为要…

c语言 java append_C++中append函数的用法和函数定义。谢谢!

展开全部要想使用标准C中string类&#xff0c;必须要包含#include // 注意是&#xff0c;不62616964757a686964616fe78988e69d8331333339663434是&#xff0c;带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;下面你就可以使用string/wstr…

很好用的程序员在线画图软件

今天向大家推荐一个很好用的在线画图软件&#xff1a;今天向大家推荐一个很好用的在线画图软件&#xff1a;今天向大家推荐一个很好用的在线画图软件&#xff1a;&#xff08;重要的事情说三篇&#xff09;连接地址如下&#xff1a;https://www.processon.com/i/55e3195de4b0df…

java breakpoint_java断点

第一步&#xff1a;用firefox运行程序&#xff0c;当点击保存&#xff0c;提示保存失败后&#xff0c;启动firebug通过请求找到addNew.ezt出现错误&#xff0c;在eztnews.xml里通过ctrlF查找找到请求执行的类和方法找到NewsAction类的doAddNew方法然后在通过找到NewsActions.ja…

OC之ARC环境中的循环strong问题

2019独角兽企业重金招聘Python工程师标准>>> main.m文件&#xff1a; #import <Foundation/Foundation.h> #import "Person.h" #import "Dog.h"int main() {Person *p [[Person alloc] init];Dog *d [[Dog alloc] init];p.dog d;d.per…