前言:

并不是每家公司都高大上,并不是每家公司都会用一些很前沿的技术来做备份这一块,有些企业或者有些行业或者团队本身由于各方面的原因使用简单或者复杂的方式来做备份这块,这次这个文档算是对以前工作的总结,看一下各种备份方式中的优缺点

1 mysqldump

常用的备份参数

-R --events --triggers=true  --single-transaction --master-data=2

-R(--routines): 导出存储过程以及自定义函数

--events: 导出事件

--triggers=true:导出触发器.默认开启,用--skip-triggers禁用

--single-transaction:该选项在导出数据之前提交一个BEGIN SQL 语句,BEGIN不会阻塞任何应用程序且能保证到处时数据库的一致性状态,跟--lock-tables是互斥的.因为lock tables会使任何挂起的事务隐含提交

--master-data=2: 该选项将binlog的位置和文件名追加到输出文件中,如果是1 将会输出CHANGE MASTER命令,如果为2,输出的CHANGE MASTER 命令钱添加注释信息。该选项将打开--lock-all-tables选,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得很短的时间),该选项自动关闭--lock-tables选项

# /opt/app/mysql/bin/mysqldump -uroot -p -R --events --triggers=true  --single-transaction --master-data=2 sakila > sakila.sql

2 数据目录拷贝----此略

3 基于xtarbackup的备份

rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm

yum -y install percona-xtrabackup

安装后的软件包有

[root@MASTER_03 bin]# rpm -ql percona-xtrabackup

/usr/bin/innobackupex

/usr/bin/xbcloud

/usr/bin/xbcloud_osenv

/usr/bin/xbcrypt

/usr/bin/xbstream

/usr/bin/xtrabackup

/usr/share/doc/percona-xtrabackup-2.3.3

/usr/share/doc/percona-xtrabackup-2.3.3/COPYING

/usr/share/man/man1/innobackupex.1.gz

/usr/share/man/man1/xbcrypt.1.gz

/usr/share/man/man1/xbstream.1.gz

/usr/share/man/man1/xtrabackup.1.gz

具体用法

1 创建备份用户

mysql> grant reload,lock tables,replication client on *.* to 'dbbak'@'localhost' identified by 'bk2016' ;
mysql> flush privileges;
进行数据库全备

mkdir -pv /data/dbbak

cd /data/dbbak

使用以下参数进行全库备份

[root@MASTER_03 dbbak]# innobackupex
--user=dbbak --password=bk2016 /data/dbbak/

会在dbbak目录下生成一个以时间戳为准的目录

2016-02-03_15-48-02

在这个目录下有一个文件

[root@MASTER_03 dbbak]# cat
2016-02-03_15-48-02/xtrabackup_checkpoints

backup_type = full-backuped

from_lsn = 0

to_lsn = 1095181486

last_lsn = 1095181486

compact = 0

recover_binlog_info = 0

增量备份
创建一个库中建立一个表(建表才会导致LSN号变化)

[root@MASTER_03 dbbak]# innobackupex
--user=dbbak --password=bk2016 --incremental /data/dbbak/ --incremental-basedir=/data/dbbak/2016-02-03_15-48-02/

生成一个新目录

2016-02-03_16-01-28

对比这个checkpoint

[root@MASTER_03 dbbak]# cat
2016-02-03_16-01-28/xtrabackup_checkpoints

backup_type = incremental

from_lsn = 1095181486

to_lsn = 1095181486

last_lsn = 1095181486

compact = 0

recover_binlog_info = 0

4  MySQL企业级的备份mysqlbakcup

mysqlbackup
--user=dba --password --port=3306  --with-timestamp --backup-dir=/export/backups   backup

5基于LVM的快照备份---略

MySQL中备份的几种方式的更多相关文章

  1. MySQL数据库备份的4种方式

    MySQL备份的4种方式 总结: 备份方法 备份速度 恢复速度 便捷性 功能 一般用于 cp 快 快 一般.灵活性低 很弱 少量数据备份 mysqldump 慢 慢 一般.可无视存储引擎的差异 一般 ...

  2. MySql数据库备份的几种方式

    mysqldump工具备份 备份整个数据库 $> mysqldump -u root -h host -p dbname > backdb.sql 备份数据库中的某个表 $> mys ...

  3. mysql表备份的一种方式

    前提: 最近测试环境shop表经常出现表损坏不能正常查询,通过mysql的修复方法,暂时有效.故做该表的迁移操作. 思路是: 停止数据库的操作 1.备份老表.  2.创建一个结构一样的表. 3.将老表 ...

  4. mysql备份的4种方式

    mysql备份的4种方式 转载自:https://www.cnblogs.com/SQL888/p/5751631.html 总结: 备份方法 备份速度 恢复速度 便捷性 功能 一般用于 cp 快 快 ...

  5. Mysql查看版本号的五种方式介绍

    Mysql查看版本号的五种方式介绍 作者: 字体:[增加 减小] 类型:转载 时间:2013-05-03   一.使用命令行模式进入mysql会看到最开始的提示符;二.命令行中使用status可以看到 ...

  6. mysql级联更新的两种方式:触发器更新和外键

    1.mysql级联更新有两种方式:触发器更新和外键更新. 2.触发器更新和外键更新的目的都是为了保证数据完整性. 我们通常有这样的需求:删除表Table 1中记录,需要同时删除其它表中与Table 1 ...

  7. [Mysql]查看版本号的五种方式

    [Mysql]查看版本号的五种方式   目录(?)[+]   查看版本信息 #1 使用命令行模式进入mysql会看到最开始的提示符 Your MySQL connection id is 3Serve ...

  8. svn备份一般采用三种方式

    http://www.cnblogs.com/itech/archive/2011/10/11/2206988.html 备份策略 ============== svn备份一般采用三种方式:1)svn ...

  9. Java中创建对象的几种方式

    Java中创建对象的五种方式: 作为java开发者,我们每天创建很多对象,但是我们通常使用依赖注入的方式管理系统,比如:Spring去创建对象,然而这里有很多创建对象的方法:使用New关键字.使用Cl ...

随机推荐

  1. RabbitMQ Performance Testing Tool 性能测试工具

    RabbitMQ Performance Testing Tool 介绍:https://www.rabbitmq.com/java-tools.html RabbitMQ Performance T ...

  2. php中的正则表达式

    一.定位字符 定位字符是正则表达式中又一类非常重要的字符,它的主要作用是用于对字符在匹配对象中的位置进行描述. ^:表示匹配的模式出现在匹配对象的开头(和在"[]"里面不同) $: ...

  3. http://www.allegro-skill.com/thread-2506-1-1.html

    http://www.allegro-skill.com/thread-2506-1-1.html

  4. VS2015 解决方案 或者项目 卡 正在加载 的解决办法

    导致项目无法打开以及VS无法关闭. 解决方法: 1.关闭VS: 2.去C:\Users\<your users name>\AppData\Local\Microsoft\VisualSt ...

  5. 集成学习1-Boosting

    转自http://blog.csdn.net/lvhao92/article/details/51079018 集成学习大致分为两类,一类串行生成.如Boosting.一类为并行化.如Bagging和 ...

  6. c++ 请抛弃匈牙利命名法 - 变量命名代码风格的建议。

    我只针对c++码农们讲,其他语言不了解不过应该大同小异.曾几何时翻开21天学通c++系列等脑残入门书,都以匈牙利命名法示人(DWORD dwXXX, int nXXX, string strXXX). ...

  7. 带你了解UIKit动力学

    一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象如:重力.弹性碰撞等现象 ...

  8. C# WEB 不显示目录结构

    <system.webServer> <directoryBrowse enabled="false" /> </system.webServer&g ...

  9. go反射----4构建

    声明:文章内容取自雨痕老师<Go语言学习笔记> 反射库提供了内置函数make和new的对应操作,其中最有意思的就是MakeFunc.可用它实现通用模板,适应不同数据类型. package ...

  10. odata配置控制器方法路由1

    查看edmx:http://localhost:12769/odata/$metadata 1.配置 ODataConventionModelBuilder builder = new ODataCo ...