前言:

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

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. Zabbix触发器函数(取前后差值)

    获取最新值last zabbix触发器方法last用于获取item最新值或者第几个值以及某个时间的哪一个值. Last (most recent) T value is > N Last (mo ...

  2. windows服务器下配置memcache最大内存值

    windows服务器下修改memcache配置要求如下: 1.用内网ip的方式提供web应用服务器调用,不允许直接通过外网调用,如将memcache服务放在192.168.1.168的服务器上 2.修 ...

  3. 转 iOS:NSAttributedString

    NSAttributedString: http://blog.csdn.net/kmyhy/article/details/8895638 CTFramesetterSuggestFrameSize ...

  4. VS2017、netcore版本更新升级

    VS2017 剩下的就是下一步了. netcore 访问:https://www.microsoft.com/net/download/archives 找到对应版本(最新版本) 下载安装就可以了 装 ...

  5. Vue + Webpack 坑爹锦集

    1.css中的转义符号 “\”  在编译[npm run build]的时候可能不通过.需要删修掉.这种情况可能会出现在svg中,如图

  6. 经常使用传感器协议3:CJ/T-188 冷热量表协议解析2

        本文详细阐述JY公司冷热量表(记热量)传输协议.并以此说明CJ/T-188协议在厂家详细应用时,并不一致. 本文及兴许文章将对这些不同点予以总结(文中所述协议与日志"CJ/T-188 ...

  7. Atitit.android webview h5运行环境总结

    Atitit.android webview h5运行环境总结 1. WebView 的使用1 2. Js调用java1 3. Js调用java 跟个swt的比较2 3.1. Swt是BrowserF ...

  8. Android-注解处理器

    Android-Java注解处理器 基本概念 注解处理器(Annotation Processor)是javac的一个工具.它用来在编译时扫描和处理注解(Annotation).你能够对自己定义注解, ...

  9. JavaScript之RegExp对象

    ECMAScript 通过 RegExp 类型来支持正则表达式.使用下面类似 Perl 的语法,就可以创建一个正则表达式 var expression = / pattern / flags ; 其中 ...

  10. php 图片上传 文件上传 大小 限制

    nginx  413 Request Entity Too Large Php无法上传文件 查看php脚本运行用户,写个php脚本 <?php echo shell_exec("id ...