1.1 备份的原因
  衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),
前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间。
1.1.1 备份的目录
  做灾难恢复:对损坏的数据进行恢复和还原
  需求改变:因需求改变而需要把数据还原到改变以前
  测试:测试新功能是否可用
1.1.2 备份中需要考虑的问题
  可以容忍丢失多长时间的数据;
  恢复数据要在多长时间内完;
  恢复的时候是否需要持续提供服务;
  恢复的对象,是整个库,多个表,还是单个库,单个表。
1.1.3 备份的类型
热备份:
  这些动态备份在读取或修改数据的过程中进行,很少中断或者不中断传输或处理数据的功能。使用热备份时,系统仍可供读取和修改数据的操作访问,所谓热备份是在不影响MySQL对外服务的情况下,进行备份。。
冷备份:
  备份期间用户不能访问数据时进行,因此无法读取或修改数据。。
温备份:
  备份期间可读取数据,但是,其不足之处在于无法在进行备份时修改,这可能使这种类型的备份不适用于某些应用程序。在备份过程中无法修改数据可能产生性能问题。
1.2 备份的方式
1.2.1 常用的备份方式
  物理备份(数据文件的二进制副本)
全量备份概念
    全量数据就是数据库中所有的数据(或某一个库的全部数据);
    全量备份就是把数据库中所有的数据进行备份。
    mysqldump会取得一个时刻的一致性数据.
增量备份(刷新二进制日志)
    增量数据就是指上一次全量备份数据之后到下一次全备之前数据库所更新的数据
    对于mysqldump,binlog就是增量数据.
完全备份:
优点:能够基于上一次的完全备份快速恢复数据,恢复窗口小。
缺点:所占用的存储空间大,每次备份耗时长,备份窗口大。
累积增量式备份:--差异备份
优点:相对完全备份来说每次备份可以节约一个完全备份的存储空间,备份窗口较小,恢复窗口较小。
缺点:恢复时必须依赖上一次完全备份和本次的累积增量式备份才能完整恢复数据,恢复时间较差异增量式备份较短。
 
差异增量式备份:----增量备份
优点:能够最大限度地节省存储空间,备份窗口小。
缺点:数据恢复时必须依赖上一次完全备份和每一次的差异增量式备份才能对数据进行完整恢复,恢复时数据重构较慢,恢复时间较长。
1.2.2 备份工具的介绍
  1、mysqldump: mysql原生自带很好用的逻辑备份工具
  2、mysqlbinlog: 实现binlog备份的原生态命令
  3、xtrabackup: precona公司开发的性能很高的物理备份工具
1.3 mysqldump备份介绍
 1.3.1 常用的备份参数
 
参数
参数说明
-A
备份全库,有建库建表语句
-B
备某一个数据库下的所有表,会有建库语句
[root@db01 ~]# mysqldump -uroot -p123 -B db1 > /backup/db1.sql
-R, --routines
备份存储过程和函数数据
--triggers
备份触发器数据
--master-data={1|2}
告诉你备份后时刻的binlog位置
如果等于1,则将其打印为CHANGE MASTER命令; 
如果等于2,那么该命令将以注释符号为前缀。0没有CHANGE MASTER参数
--single-transaction
对innodb引擎进行热备,也就是快照备份
-F, --flush-logs
flush logs在备份时自动刷新binlog且每个库会生成新一个binlog文件(不怎么常用)
-x, --lock-all-tables
锁定所有数据库的所有表。这是通过在整个转储期间采用全局读锁来实现的。
-l, --lock-tables
锁定所有表以供读取
-d
仅表结构
-t
仅数据
--compact
减少无用数据输出(调试)
-E 在备份时,同时备份EVENT,如果没有会自动忽略
一个完整的备份语句:
  innodb引擎的备份命令如下:
mysqldump -uroot -p -A -R --triggers --master-data=2 --single-transaction |gzip >/opt/all_$(date +%F).sql.gz
  适合多引擎混合(例如:myisam与innodb混合)的备份命令如下:
 
在关于GTID模式的备份:
--set-gtid-purged=OFF不要加此参数,
在主从架构的数据库,通常相关导入操作只需要在master(主库)端进行即可,在mysqldump不加此参数时sql文件中会出现如下两名,
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= 0;
禁掉了session级别的sql_log_bin,所以在目标端导入sql时,并不会产生对应的bin log日志,
所以该表及其数据就不会被同步到slave端,构建主从gtid时不要加此参数。
mysqldump -uroot -p -R -e --triggers --master-data=2 --single-transaction --set-gtid-purged=OFF world country >/tmp/countryyes.sql
1.3.2 -A 参数
  备份全库,备份语句
  mysqldump -uroot -p123 -A > /backup/full.sql
1.3.3 -B 参数
  备某一个数据库下的所有表,且存在建库语句
  增加建库(create)及“use库”的语句,可以直接接多个库名,同时备份多个库* -B 库1 库2
mysqldump -uroot -p123 -B world > /backup/worldb.sql
  不加-B备份数据库时,只是备份数据库下的所有表,不会创建数据库
         只能备份单独的数据库(一般用于备份单表时使用)
mysqldump -uroot -p123 world > /backup/world.sql
         备份单表
mysqldump -uroot -p123 world city > /backup/world_city.sql
         对于单表备份的粒度,再恢复数据库数据时速度最快。
         备份多个表
mysqldump 库1 表1 表2 表3 >库1.sql mysqldump 库2 表1 表2 表3 >库2.sql
1.3.4 --master-data={1|2}参数
  告诉你备份后时刻的binlog位置
    2为注释  1为非注释,要执行的(主从复制) 此命令会锁表,需要配合--single-transaction快照使用
[root@db02 logs]# sed -n '22p' /opt/t.sql CHANGE MASTER TO MASTER_LOG_FILE='clsn-bin.000005', MASTER_LOG_POS=344; [root@db02 logs]# mysqldump -B --master-data=2 clsn >/opt/t.sql
1.3.5 压缩备份
压缩备份命令:
mysqldump -B --master-data=2 clsn|gzip >/opt/t.sql.gz
解压:
zcat t.sql.gz >t1.sql gzip -d t.sql.gz #删压缩包 gunzip alL_2017-12-22.sql.gz
zcat t.sql.gz >/tmp/linshi.sql

mysql备份基础的更多相关文章

  1. Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录

    在日常的linux运维工作中,大数据量备份与还原,始终是个难点.关于mysql的备份和恢复,比较传统的是用mysqldump工具,今天这里推荐另一个备份工具innobackupex.innobacku ...

  2. MySQL数据库基础

    MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...

  3. xtrabackup备份(MySQL备份)与恢复

    xtrabackup备份(MySQL备份)与恢复 1. innobackupex参数选项 --no-timestamp: 不创建一个时间戳 --defaults-file=[MY.CNF] //指定配 ...

  4. 使用第三方工具Xtrabackup进行MySQL备份

    使用Xtrabackup进行MySQL备份: 一.安装 1.简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtr ...

  5. mysql备份工具innobackupex,xtrabackup-2.1的原理和安装

    mysql备份工具innobackupex,xtrabackup-2.1的原理和安装 http://bbs.2cto.com/read.php?tid=310496 一.Xtrabackup介绍 1. ...

  6. Mysql备份工具xtraback全量和增量测试

    Mysql备份工具xtraback全量和增量测试   xtrabackup 是 percona 的一个开源项目,可以热备份innodb ,XtraDB,和MyISAM(会锁表) 官方网址http:// ...

  7. MySQL学习——基础

    本文是MySQL的基础知识. Linux启动MySQL服务命令 : service mysql start Linux关闭MySQL服务命令 : service mysql stop 登录MySQL命 ...

  8. 高性能MySQL之基础架构

    一.背景 为什么我们需要先学习MYSQL的基础架构先呢? 原因很简单,当我们需要了解一件事物的时候,我们只有站在宏观的层面,才能层层剥丝抽茧的去理解问题.举个例子,我们要看一个框架的源码,一开始就想进 ...

  9. Mysql备份工具mysqldump和mysqlhotcopy

    (1).Mysql备份类型 1)按照备份时对数据库的影响分为 Hot backup(热备):也叫在线备份.指在数据库运行中直接备份,对正在运行的数据库没有任何影响. Cold backup(冷备):也 ...

随机推荐

  1. pm2 代替 Supervisor 管理进程

    前提 我们在使用 Laravel 的时候不免用到列队来处理任务,而 Laravel 官方文档给出的是 Supervisor 来管理进程和监控.但是我们在使用中有下面几个缺点: Supervisor 单 ...

  2. 对js原型对象、实例化对象及prototype属性的一些见解

    什么是原型对象? 请看下面的代码,我们以各种姿势,创建了几个方法! function fn1() { } var fn2 = function () { } var fn3 = new Functio ...

  3. 【Spring 源码】Spring 加载资源并装配对象的过程(XmlBeanDefinitionReader)

    Spring 加载资源并装配对象过程 在Spring中对XML配置文件的解析从3.1版本开始不再推荐使用XmlBeanFactory而是使用XmlBeanDefinitionReader. Class ...

  4. HDU 1203 I NEED A OFFER! (动态规划、01背包、概率)

    I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  5. # N数码问题

    N数码问题 首先,先贯彻一个理念.奇偶性很神奇,对于一类问题,如果属于同种性质(奇偶性相同),那么它们就是完全相同(这个在某种意义上说)的,,一些问题如果奇偶性相同那么里面涉及的问题都是等价的. 数码 ...

  6. 51nod 1251 Fox序列的数量 (容斥)

    枚举最多数字的出现次数$k$, 考虑其他数字的分配情况. 对至少$x$种数出现$\ge k$次的方案容斥, 有 $\sum (-1)^x\binom{m-1}{x}\binom{n-(x+1)k+m- ...

  7. leecode100热题 HOT 100

    # 题名 题解 通过率 难度 出现频率     1 两数之和       46.5% 简单     2 两数相加       35.5% 中等     3 无重复字符的最长子串       31.1% ...

  8. linux环境下tomcat启动成功,部分请求页面出现404

    这种情况很多,本文记录我遇到比较奇葩的情况. 第一种情况: 第一次tomact启动成功,访问404,乱捣鼓不知怎么好了:第二次tomcat启动成功,可以访问部分链接,有些却报404,但是代码和数据都还 ...

  9. SqlSugar

    SqlSugar 官网 SqlSugar 源码 SqlSugar NuGet

  10. sql--ALTER

    ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.修改或删除列. SQL ALTER TABLE 语法 如需在表中添加列,请使用下列语法: ALTER TABLE tab ...