MySQ数据备份
MySQL备份概述
问题:备份和冗余有什么区别?
- 备份:能够防止由于机械故障以及人为操作带来的数据丢失,例如将数据库文件保存在了其它地方。
- 冗余:数据有多份冗余,但不等于备份,只能防止机械故障带来的数据丢失,例如主备模式、数据库集群。
备份是什么?
databases Binlog my.cnf /data/xxx(数据目录)
备份数据库,还有日志文件,还有配置文件,尽可能将数据目录里面的文件全部备份。
备份过程中必须考虑因素:
- 1、必须制定详细的备份计划(备份频率、时间点、周期)(根据当前的业务情况,需要考虑备份的时间和备份数据的大小。数据量太大的话就使用冗灾)。
- 2、备份数据应该放在非数据库本地,并建议有多份副本
- 3、必须做好数据恢复的演练(每隔一段时间,对备份的数据在测试环境中进行模拟恢复,保证当出现数据灾难的时候能够及时恢复数据。)(保证数据的可用性)备份完成后进行断电模拟演练。测试数据库是否可以正常启动,数据能否正常进行恢复。
- 4、根据数据应用的场合、特点选择正确的备份工具。
- 5、数据的一致性。
- 6、数据的可用性。
备份类型
逻辑备份
逻辑备份就是在不停业务的情况下进行备份。
备份的是建表、建库、插入等操作所执行SQL语句(DDL DML DCL),适用于中小型数据库,效率相对较低。
(一般在数据库正常提供服务的前提下进行的);如:mysqldump、mydumper、 into outfile(表的导出导入)等
物理备份
直接复制数据库文件,适用于大型数据库环境,不受存储引擎的限制,但不能恢复到不同的MySQL版本。
(一般在数据库彻底关闭或者不能完成正常提供服务的前提下进行的备份);如:tar、cp、xtrabackup、lvm snapshot等
在线热备
在线热备:AB复制(在线实时)(指的是对数据的冗余)
M-S
M-Sn
M-S1-S2
M-M-Sn
备份工具
社区版安装包中的备份工具
mysqldump
- 企业版和社区版都包含
- 本质上使用SQL语句描述数据库及数据并导出
- 在MYISAM引擎上锁表,Innodb引擎上锁行
- 数据量很大时不推荐使用
mysqlhotcopy
- 企业版和社区版都包含
- perl写的一个脚本,本质上是使用锁表语句再拷贝数据
- 只支持MYISAM数据引擎
企业版安装包中的备份工具
mysqlbackup
- 在线备份
- 增量备份
- 部分备份
- 在某个特定时间的一致性状态的备份
第三方备份工具
XtraBackup和innobackupex
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品
Xtrabackup有两个主要的工具:xtrabackup、innobackupex
- xtrabackup只能备份InnoDB和XtraDB两种数据表,不能备份myisam类型的表,也不能备份数据表结构。
- innobackupex是将Xtrabackup进行封装的perl脚本,所以能同时备份处理innodb和myisam的存储引擎,但在处理myisam时需要加一个读锁
mydumper
mydumper 多线程备份工具
https://launchpad.net/mydumper/mydumper-0.9.1.tar.gz 2015-11-06(最后更新时间)
备份方法
完全备份
增量备份
差异备份
差异增量备份
• Sunday
An incremental level 0 backup backs up all blocks that have ever been in use in this database.
• Monday through Saturday
On each day from Monday through Saturday, a differential incremental level 1 backup backs up all blocks that have changed since the most recent incremental backup at level 1 or 0. The Monday backup copies blocks changed since Sunday level 0 backup, the Tuesday backup copies blocks changed since the Monday level 1 backup, and so forth.
累计增量备份
• Sunday
An incremental level 0 backup backs up all blocks that have ever been in use in this database.
• Monday - Saturday
A cumulative incremental level 1 backup copies all blocks changed since the most recent level 0 backup. Because the most recent level 0 backup was created on Sunday, the level 1 backup on each day Monday through Saturday backs up all blocks changed since the Sunday backup.
需要掌握的备份方法:
逻辑数据的导入导出(into outfile)、mysqldump、mysqlhotcopy、xtrabackup和innobackupex
lvm-snapshot、mysqlbackup
MySQ数据备份的更多相关文章
- MYSQL数据备份与还原学习笔记
数据备份与还原 1.mysqldump 1.1 文件地址: E:\xampp\mysql\bin 文件名:mysqldump.exe CMD下进入mysqldump.exe cd E:\xampp ...
- 数据备份的OSS接口
最近在做一个新的项目,从RDS备份到OSS,进行数据备份以及后续的还原.这边对阿里云的OSS数据上传接口进行说明,先做下笔记先简单介绍下OSS: ①Object 在OSS中,用户操作的基本数据单元是O ...
- 两种适用于中小量数据的mysql数据备份
近来项目的业务量开始大了,感觉如果数据不周期性地备份一下,很可能会出现问题,虽然我每天都有阿里云的自动快照,上网找了一下方法,找到两种相对简单而又适合中小项目或者中小公司的数据备份策略,以下都是数据库 ...
- redis主从复制 从而 数据备份和读写分离
蜗牛Redis系列文章目录http://www.cnblogs.com/tdws/tag/NoSql/ 爬虫转载注明地址本文地址—博客园蜗牛 http://www.cnblogs.com/tdws/p ...
- MySQL 数据备份与还原
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
- 转 MySQL 数据备份与还原
MySQL 数据备份与还原 原贴:http://www.cnblogs.com/kissdodog/p/4174421.html 一.数据备份 1.使用mysqldump命令备份 mysqldum ...
- Linux文件系统应用---系统数据备份和迁移(用户角度)
1 前言 首先承诺:对于从Windows系统迁移过来的用户,困扰大家的 “Linux系统下是否可以把系统文件和用户文件分开到C盘和D盘中” 的问题也可以得到完满解决. 之前的文章对Linux的文 ...
- 开源服务专题之-------rsync数据备份
RSYNC是Remote Sync 远程同步的简称,与SCP的比较,SCP= 无法备份大量数据,类似windows的复制,而rsync=边复制 ,边统计,边比较,可以备份大量数据.可以镜像保存整个目录 ...
- Oracle数据备份bat
@echo on setlocal rem 设置数据库和备份文件参数... set sid=testorcl set username=testname set password=testpwd se ...
随机推荐
- Spring RestTemplate详解
Spring RestTemplate详解 1.什么是REST? REST(RepresentationalState Transfer)是Roy Fielding 提出的一个描述互联系统架构风格 ...
- 剑指前端(前端入门笔记系列)—— JS基本数据类型及其类型转换
基本数据类型 ECMAScript中有5中简单数据类型性(也称为基本数据类型):Undefined.Null.Boolean.Number和String,还有一种复杂数据类型——Object,Obje ...
- 可编辑且宽度自适应input
默认的input项是比较难看的,并且它的宽度还无法随着输入而变化,这样未免有些呆板,不过借助JavaScript可以达到宽度自适应的效果,下面为了方便使用了jQuery: <div class= ...
- 【Android】用Cubism 2制作自己的Live2D——官方App样例源码学习(3)!
---恢复内容开始--- 前言- 虽然上文说的是model的绘制但是这个说法并不严谨,之前的几个例子都会有模型文件的读入和载入,可是在LAppRenderer.LAppView中并没有.moc等文件的 ...
- Vue与React两个框架的区别对比
简单介绍 React--Facebook创建的JavaScript UI框架.它支撑着包括Instagram在内的大多数Facebook网站.React与当时流行的jQuery,Backbone.js ...
- 你不可不知的Java引用类型之——Reference源码解析
定义 Reference是所有引用类型的父类,定义了引用的公共行为和操作. reference指代引用对象本身,referent指代reference引用的对象,下文介绍会以reference,ref ...
- canvas动态图标
前言 canvas 强大的功能让它成为了 HTML5 中非常重要的部分,至于它是什么,这里就不需要我多作介绍了.而可视化图表,则是 canvas 强大功能的表现之一. 现在已经有了很多成熟的图表插件都 ...
- Jmeter 接口测试实战-有趣的cookie
Jmeter 接口测试实战-有趣的cookie 场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都 ...
- Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块
Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fab ...
- XMind 8 Pro 破解
1.补丁下载地址 链接:https://pan.baidu.com/s/146qcwkvOGCAneIXabSZSUA 提取码:wygs 2.安装 XMind 8 Pro, 运行 3. 去除检查 ...