澳门金沙国际 1

XtraBackup物理备份 Ali云的Mysql备份方案,xtrabackupAli

澳门金沙国际 2

澳门金沙国际 3

【mysql】使用xtrabackup在线增量备份及回复数据库,mysqlxtrabackup

XtraBackup物理备份

Percona
XtraBackup是社会风气上绝无仅有的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库执行非阻塞备份。使用Percona
XtraBackup,能够兑现以下优势:

  • 飞快可信地成功的备份

  • 备份时期的不间断事务处理

  • 节省磁盘空间和网络带宽

  • 自动备份验证

  • 成立热InnoDB备份,而不间断数据库

  • 对MySQL实行增量备份

  • 将缩减的MySQL备份压缩到另三个服务器

  • 在MySQL服务器之间移动表

  • 自在成立新的MySQL主从

  • 备份MySQL,而不向服务器添加负载

Percona XtraBackup为全部版本的Percona
Server,MySQL和玛丽亚DB实行MySQL热备份,压缩和增量MySQL备份。Percona
XtraBackup与MySQL,玛丽亚DB和Percona
Server协作使用。它援助完全非阻塞备份InnoDB,XtraDB和HailDB 存款和储蓄引擎。

XtraBackup物理备份

Percona
XtraBackup是社会风气上绝无仅有的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库执行非阻塞备份。使用Percona
XtraBackup,能够兑现以下优势:

  • 快捷可相信地形成的备份

  • Ali云的Mysql备份方案,使用xtrabackup在线增量备份及回复数据库。备份时期的不间断事务处理

  • 节省磁盘空间和互连网带宽

  • 机动备份验证

  • 创造热InnoDB备份,而不刹车数据库

  • 对MySQL实行增量备份

  • 将缩减的MySQL备份压缩到另2个服务器

  • 在MySQL服务器之间移动表

  • 自在创立新的MySQL主从

  • 备份MySQL,而不向服务器添加负载

Percona XtraBackup为全体版本的Percona
Server,MySQL和MariaDB进行MySQL热备份,压缩和增量MySQL备份。Percona
XtraBackup与MySQL,MariaDB和Percona
Server合营使用。它协助完全非阻塞备份InnoDB,XtraDB和HailDB 存款和储蓄引擎。

XtraBackup物理备份

Percona
XtraBackup是世界上绝无仅有的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库执行非阻塞备份。使用Percona
XtraBackup,能够兑现以下优势:

  • 快快可信地形成的备份

  • 备份时期的不间断事务处理

  • 节省磁盘空间和互联网带宽

  • 电动备份验证

  • 始建热InnoDB备份,而不暂停数据库

  • 对MySQL实行增量备份

  • 将削减的MySQL备份压缩到另一个服务器

  • 在MySQL服务器之间移动表

  • 自在创制新的MySQL主从

  • 备份MySQL,而不向服务器添加负载

Percona XtraBackup为全体版本的Percona
Server,MySQL和玛丽亚DB进行MySQL热备份,压缩和增量MySQL备份。Percona
XtraBackup与MySQL,玛丽亚DB和Percona
Server协作使用。它援助完全非阻塞备份InnoDB,XtraDB和HailDB 存款和储蓄引擎。

一、Percona Xtrabackup 简介

壹 、Xtrabackup  bin目录文件 介绍

Percona XtraBackup工作规律

Percona
XtraBackup是基于InnoDB的崩溃恢复生机功能。复制InnoDB数据文件,导致当中分裂的数目; 但随后它对文件执行崩溃恢复生机,使它们重新成为平等,可用的数据库。

那是因为InnoDB维护三个重做日志,也称为事务日志。那带有对InnoDB数据的各类更改的记录。当InnoDB 运维时,它会检查数据文件和工作日志,并执行八个步骤。它将送交的政工日志条目应用于数据文件,并对修改数据但未提交的其余工作执行打消操作。

Percona
XtraBackup通过记录日志类别号(LSN)开始工业作,然后复制掉数据文件。那亟需一小会时刻来成功,所以假设文件正在改变,那么它们反映了数据库在不相同时间点的情况。同时,Percona
XtraBackup运维三个后台进度,监视事务日志文件,并从中复制更改。Percona
XtraBackup要求持续地这样做,因为工作日志是以巡回格局编写的,并且能够在一段时间后重复使用。Percona
XtraBackup从数据文件开头执行以来历次变更都亟待工作日志记录。

Percona XtraBackup将动用备份锁 ,作为3个轻量级替代。此成效在Percona
Server 5.6+中可用。Percona
XtraBackup使用那么些活动复制非InnoDB数据,以幸免阻塞修改InnoDB表的DML查询。当服务器援助备份锁时,xtrabackup将第三复制InnoDB数据,运维并复制MyISAM表和.frm文件。一旦实现,文件的备份将启幕。它将备份.frm,.MEscortG,.MYD,.MYI,.THighlanderG,FLUSH TABLES WITH READ LOCKLOCK TABLES FOCRUISER BACKUP.par

注意

锁定只对MyISAM和其他非InnoDB表,唯有 在 Percona XtraBackup实现具有InnoDB
/ XtraDB数据和日志后备份。Percona
XtraBackup将使用备份锁 ,作为一个轻量级替代。此功能在Percona
Server 5.6+中可用。Percona
XtraBackup使用这几个活动复制非InnoDB数据,以幸免阻塞修改InnoDB表的DML查询。FLUSH TABLES WITH READ LOCK

随后,xtrabackup将利用阻止全部操作,大概变动二进制日志地方或 或
报告。然后xtrabackup将不辱职务复制REDO日志文件和获得二进制日志坐标。在那形成未来xtrabackup将解锁二进制日志和表。LOCK BINLOG FO酷路泽 BACKUPExec_Master_Log_PosExec_Gtid_SetSHOW MASTER/SLAVE STATUS

最终,二进制日志地方将被打字与印刷到STDE奥迪Q7宝马X3和xtrabackup 将脱离再次回到0若是一切符合规律。

急需小心的是STDE大切诺基ENVISION的xtrabackup不是写在另曾外祖父文中。您必须将其重定向到一个文书,例如,。xtrabackup OPTIONS2> backupout.log

它还将在备份的目录中创设以下文件。

在准备阶段,Percona
XtraBackup使用复制的工作日志文件对复制的数据文件执行崩溃苏醒。达成此操作后,数据库就足以恢复生机和平运动用。

备份的MyISAM和InnoDB表最终将并行一致,因为在准备(复苏)进程之后,InnoDB的数据会前滚到备份实现的点,而不会回滚到该点开首。这几个时间点同盟所选用的地方,因而MyISAM数据和准备的 InnoDB数据是一道的。FLUSH TABLES WITHREAD LOCK

简简单单,那么些工具允许你通过复制数据文件,复制日志文件以及将日志应用到数码的各类组合来实施流式和增量备份等操作。

Percona XtraBackup工作规律

Percona
XtraBackup是依据InnoDB的崩溃复苏功能。复制InnoDB数据文件,导致当中不等同的数量; 但随后它对文本实行崩溃复苏,使它们重新成为平等,可用的数据库。

那是因为InnoDB维护3个重做日志,也称为事务日志。这包蕴对InnoDB数据的种种更改的笔录。当InnoDB 运维时,它会检查数据文件和工作日志,并履行五个步骤。它将付诸的事体日志条目应用于数据文件,并对修改数据但未提交的其它业务执行撤消操作。

Percona
XtraBackup通过记录日志体系号(LSN)初阶工作,然后复制掉数据文件。那亟需一小会时刻来形成,所以即使文件正在改变,那么它们反映了数据库在分歧时间点的事态。同时,Percona
XtraBackup运维三个后台进度,监视事务日志文件,并从中复制更改。Percona
XtraBackup供给不断地这样做,因为工作日志是以巡回情势编写的,并且能够在一段时间后重复使用。Percona
XtraBackup从数据文件初叶推行以来历次变更都亟待工作日志记录。

Percona XtraBackup将选择备份锁 ,作为一个轻量级替代。此意义在Percona
Server 5.6+中可用。Percona
XtraBackup使用这几个活动复制非InnoDB数据,以制止阻塞修改InnoDB表的DML查询。当服务器补助备份锁时,xtrabackup将第壹复制InnoDB数据,运营并复制MyISAM表和.frm文件。一旦成功,文件的备份将初步。它将备份.frm,.MSportageG,.MYD,.MYI,.T福睿斯G,FLUSH TABLES WITH READ LOCKLOCK TABLES FO奇骏 BACKUP.par

注意

锁定只对MyISAM和其余非InnoDB表,唯有 在 Percona XtraBackup实现具有InnoDB
/ XtraDB数据和日志后备份。Percona
XtraBackup将接纳备份锁 ,作为三个轻量级替代。此功能在Percona
Server 5.6+中可用。Percona
XtraBackup使用那一个自动复制非InnoDB数据,以免止阻塞修改InnoDB表的DML查询。FLUSH TABLES WITH READ LOCK

事后,xtrabackup将选用阻止全体操作,恐怕改变二进制日志地点或 或
报告。然后xtrabackup将成功复制REDO日志文件和收获二进制日志坐标。在那形成今后xtrabackup将解锁二进制日志和表。LOCK BINLOG FO奥迪Q5 BACKUPExec_Master_Log_PosExec_Gtid_SetSHOW MASTER/SLAVE STATUS

末尾,二进制日志地方将被打字与印刷到STDE中华V兰德酷路泽和xtrabackup 将脱离再次来到0假设一切平常。

内需注意的是STDE哈弗福特Explorer的xtrabackup不是写在别的公文中。您必须将其重定向到1个文本,例如,。xtrabackup OPTIONS2> backupout.log

它还将在备份的目录中开创以下文件。

在准备阶段,Percona
XtraBackup使用复制的作业日志文件对复制的数据文件执行崩溃复苏。完毕此操作后,数据库就能够恢复生机和平运动用。

备份的MyISAM和InnoDB表最后将相互一致,因为在准备(恢复生机)进度之后,InnoDB的数据会前滚到备份完结的点,而不会回滚到该点初始。那个时间点同盟所使用的地方,由此MyISAM数据和准备的 InnoDB数据是联合署名的。FLUSH TABLES WITHREAD LOCK

简单,那么些工具允许你通过复制数据文件,复制日志文件以及将日志应用到数码的各个组合来施行流式和增量备份等操作。

Percona XtraBackup工作规律

Percona
XtraBackup是基于InnoDB的夭亡复苏功能。复制InnoDB数据文件,导致在那之中不等同的数量; 但随后它对文本执行崩溃恢复,使它们重新成为平等,可用的数据库。

这是因为InnoDB维护七个重做日志,也称为事务日志。那带有对InnoDB数据的各样更改的记录。当InnoDB 运营时,它会检查数据文件和作业日志,并实行多个步骤。它将提交的事体日志条目应用于数据文件,并对修改数据但未提交的其他事情执行撤销操作。

Percona
XtraBackup通过记录日志种类号(LSN)起初工作,然后复制掉数据文件。那亟需一小会时刻来达成,所以倘若文件正在改变,那么它们反映了数据库在分裂时间点的事态。同时,Percona
XtraBackup运转叁个后台进程,监视事务日志文件,并从中复制更改。Percona
XtraBackup需求不停地那样做,因为工作日志是以巡回格局编写的,并且能够在一段时间后重复使用。Percona
XtraBackup从数据文件开头推行以来历次变更都亟待工作日志记录。

Percona XtraBackup将采纳备份锁 ,作为1个轻量级替代。此意义在Percona
Server 5.6+中可用。Percona
XtraBackup使用这一个自动复制非InnoDB数据,以幸免阻塞修改InnoDB表的DML查询。当服务器扶助备份锁时,xtrabackup将首先复制InnoDB数据,运维并复制MyISAM表和.frm文件。一旦形成,文件的备份将伊始。它将备份.frm,.M福特ExplorerG,.MYD,.MYI,.TCRUISERG,FLUSH TABLES WITH READ LOCKLOCK TABLES FO安德拉 BACKUP.par

注意

锁定只对MyISAM和别的非InnoDB表,唯有 在 Percona XtraBackup完结全数InnoDB
/ XtraDB数据和日志后备份。Percona
XtraBackup将运用备份锁 ,作为贰个轻量级替代。此意义在Percona
Server 5.6+中可用。Percona
XtraBackup使用这几个自动复制非InnoDB数据,避防止阻塞修改InnoDB表的DML查询。FLUSH TABLES WITH READ LOCK

尔后,xtrabackup将选择阻止全部操作,可能改变二进制日志地点或 或
报告。然后xtrabackup将不负众望复制REDO日志文件和获得二进制日志坐标。在那形成之后xtrabackup将解锁二进制日志和表。LOCK BINLOG FO酷路泽 BACKUPExec_Master_Log_PosExec_Gtid_SetSHOW MASTER/SLAVE STATUS

最后,二进制日志地方将被打印到STDECR-VPRADO和xtrabackup 将退出再次回到0假如一切平时。

急需小心的是STDEMuranoMurano的xtrabackup不是写在任何公文中。您必须将其重定向到一个文本,例如,。xtrabackup OPTIONS2> backupout.log

它还将在备份的目录中创立以下文件。

在备选阶段,Percona
XtraBackup使用复制的事体日志文件对复制的数据文件执行崩溃恢复生机。实现此操作后,数据库就足以过来和使用。

备份的MyISAM和InnoDB表最后将互动一致,因为在备选(苏醒)进程之后,InnoDB的数据会前滚到备份实现的点,而不会回滚到该点开首。那个时间点协作所使用的地点,由此MyISAM数据和准备的 InnoDB数据是联合的。FLUSH TABLES WITHREAD LOCK

简简单单,那个工具允许你通过复制数据文件,复制日志文件以及将日志应用到数量的各类组合来实施流式和增量备份等操作。

1)innobackupex

innobackupex 是xtrabackup的一个标志链接 . innobackupex still supports
all features and syntax as 2.2 version did, but is now deprecated and
will be removed in next major release.

苏醒备份

要采用xtrabackup恢复生机备份,您能够运用 或选项。xtrabackup –copy-backxtrabackup –move-back

xtrabackup将从my.cnf变量datadir, innodb_data_home_dir,innodb_data_file_path,innodb_log_group_home_dir中读取, 并检查目录是还是不是留存。

这将复制MyISAM表,索引等(.F卡宴M,.MKugaG, .MYD,.MYI,.TXC60G,.T奇骏N,.A瑞鹰M, .APAJEROZ,.CSM,.CSV,par和.opt的文本)首先,InnoDB的下一步是表和目录,最后是日记文件。它将在复制文件时保留文件的属性,mysql在起步数据库服务器在此以前大概必要将文件的全数权转移为,因为它们将由创建备份的用户拥有。

依然,该选拔可用于回复备份。此选项 与唯一的界别是,它不是复制文件,而是将其运动到目的地点。由于此选项删除备份文件,因而必须审慎运用。在尚未丰裕的可用磁盘空间来保存那三个数据文件及其备份副本的意况下,此功用分外实用。xtrabackup –move-backxtrabackup –copy-back

平复备份

要动用xtrabackup恢复生机备份,您能够接纳 或选项。xtrabackup –copy-backxtrabackup –move-back

xtrabackup将从my.cnf变量datadir, innodb_data_home_dir,innodb_data_file_path,innodb_log_group_home_dir中读取, 并检查目录是还是不是留存。

那将复制MyISAM表,索引等(.F奥迪Q7M,.MXC90G, .MYD,.MYI,.T福睿斯G,.T奥迪Q7N,.ACRUISERM, .AKoleosZ,.CSM,.CSV,par和.opt的文本)首先,InnoDB的下一步是表和目录,最终是日记文件。它将在复制文件时保留文件的质量,mysql在起步数据库服务器在此之前或者须要将文件的全部权转移为,因为它们将由成立备份的用户拥有。

照旧,该选拔可用于回复备份。此选项 与唯一的区分是,它不是复制文件,而是将其运动到指标地方。由于此选项删除备份文件,因而必须小心运用。在并未充裕的可用磁盘空间来保存那多个数据文件及其备份副本的情景下,此功效至极实用。xtrabackup –move-backxtrabackup –copy-back

复原备份

要选取xtrabackup复苏备份,您能够使用 或选项。xtrabackup –copy-backxtrabackup –move-back

xtrabackup将从my.cnf变量datadir, innodb_data_home_dir,innodb_data_file_path,innodb_log_group_home_dir中读取, 并检查目录是还是不是存在。

那将复制MyISAM表,索引等(.FEnclaveM,.M汉兰达G, .MYD,.MYI,.T瑞虎G,.T大切诺基N,.AGL450M, .A奇骏Z,.CSM,.CSV,par和.opt的文书)首先,InnoDB的下一步是表和目录,最终是日记文件。它将在复制文件时保留文件的特性,mysql在运行数据库服务器以前或然要求将文件的全体权转移为,因为它们将由创设备份的用户拥有。

抑或,该选用可用于回复备份。此选项 与唯一的分别是,它不是复制文件,而是将其运动到对象地方。由于此选项删除备份文件,因而必须谨慎使用。在没有丰富的可用磁盘空间来保存那五个数据文件及其备份副本的场所下,此意义十二分管用。xtrabackup –move-backxtrabackup –copy-back

2)xtrabackup

二个由C编写翻译而来的二进制文件,可以整备MySQL database instance with
MyISAM, InnoDB, and XtraDB tables

安装XtraBackup

安装XtraBackup

安装XtraBackup

3)xbcrypt

用来加密或解密备份的多少

安装XtraBackup 源

[root@ZHENGDA ~]# uname -r
3.10.0-327.el7.x86_64

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

安装

yum -y install percona-xtrabackup-24

始建连接用户并受权

mysql> CREATE USER 'zhengda'@'localhost' IDENTIFIED BY 'goyun.org';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'zhengda'@'localhost';
mysql> FLUSH PRIVILEGES;

一体化备份

(1)xtrabackup只好备份innodb和xtradb二种引擎的表,而不可能备份myisam引擎的表;
(2)innobackupex是一个包装了xtrabackup的Perl脚本,辅助同时备份innodb和myisam,但在对myisam备份时须要加2个大局的读锁。还有正是myisam不支持增量备份。

$ xtrabackup --user=zhengda --password=goyun.org --backup \ 
  --target-dir=/data/backup  
$ innobackupex --user=zhengda --password=goyun.org /path/ to /backup/dir/ 
$ innobackupex --user=zhengda --password=goyun.org --stream=tar ./ | bzip2 -

备份到/data/backup下

备份所有库:$ innobackupex --defaults-file=/etc/my.cnf--user=zhengda \
           --password=goyun.org --socket=/tmp/mysql.sock /data/backup
           
备份两个库:$ innobackupex --databases="db1 db2"--defaults-file=/etc/my.cnf--user=zhengda \
            --password=goyun.org --socket=/tmp/mysql.sock /data/backup

增量备份

注:第③遍增量备份要建立在整机备份之上才能够
–incremental /data/backup1 钦赐增量备份存放的指标目录
–incremental-basedir=/data/backup 内定完整备份的目录

$ innobackupex  --defaults-file=etc/my.cnf --user=zhengda --password=goyun.org \
--socket=/tmp/mysql.sock --incremental /data/backuup1 --incremental-basedir=/data/backup/#会根据当天时间生成个目录

进行第三次增量备份,要求钦赐上一次增量备份的目录
–incremental /data/backup2 钦赐本次增量备份目录
–incremental-basedir=/data/backup1 钦点上次增量备份目录

$ innobackupex --defaults-file=/etc/my.cnf --user=zhengda --password=goyun.org \
--socket=/tmp/mysql.sock --incremental /data/backup2 --incremental-basedir=/data/backup1/(....)

复原备份

–apply-log 准备复苏备份的挑三拣四
–use-memory=8G 设置准备苏醒数据时使用的内部存款和储蓄器,能够增强准备所开销的时间

$ innobackupex --apply-log --use-memory=8G /data/backup
#还原如下
$ innobackupex  --defaults-file=/etc/my.cnf --user= --password= --copy-back /data/backup
#或
$ xtrabackup --user=zhengda --password=goyun.org --copy-back --target-dir=/data/backup

运用Mysqldump进行逻辑备份

mysqldump作为主要的MySQL备份工具,作用优秀强劲。备份参数、苏醒策略,要求仔细切磋。

备份数据库:

备份单个数据库或单个数据库中的钦定表:

mysqldump [OPTIONS] database [tb1] [tb2]…

备份四个数据库:

mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3…]

备份全体数据库:

mysqldump [OPTIONS] –all-databases [OPTIONS]

添加此选项备份时不锁表

--single-transaction

案例:本地备份全体库

mysqldump -u root -p密码 --all-databases > ./all.sql

案例:本地苏醒全部库

mysql -u root -p密码  < ./all.sql

案例:备份本地db1,db2多少个库

mysqldump -u root -p密码 --databases db1 db2 > ./db1_2.sql

案例:恢复生机地面db1,db2四个库

mysql -u root -p密码 db1 db2 < ./db1_2.sql

案例:在B主机上实施将A主机的yun库备份到B主机上 ,在B主机上须要创设yun库

-C代表主机间的多少传输使用数据压缩

mysqldump --host=192.168.6.108(A) -u root -p密码 --opt yun | mysql --host=localhost(B) -u root -p密码 -C yun

案例:在 B主机 上推行将 A主机 上的全体数据库备份到地点

mysqldump --host=192.168.6.108(A) -u root -p密码 --all-databases > all.sql(B)

案例:复苏在B主机上举办

此小说来自海龟运转wuguiyunwei.com

我们的公物号

澳门金沙国际 4

安装XtraBackup 源

[[email protected]
~]# uname -r
3.10.0-327.el7.x86_64

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

安装

yum -y install percona-xtrabackup-24

成立连接用户并受权

mysql> CREATE USER 'zhengda'@'localhost' IDENTIFIED BY 'goyun.org';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'zhengda'@'localhost';
mysql> FLUSH PRIVILEGES;

完整备份

(1)xtrabackup只好备份innodb和xtradb三种引擎的表,而无法备份myisam引擎的表;
(2)innobackupex是贰个包装了xtrabackup的Perl脚本,协助同时备份innodb和myisam,但在对myisam备份时需求加3个大局的读锁。还有正是myisam不匡助增量备份。

$ xtrabackup --user=zhengda --password=goyun.org --backup \ 
  --target-dir=/data/backup  
$ innobackupex --user=zhengda --password=goyun.org /path/ to /backup/dir/ 
$ innobackupex --user=zhengda --password=goyun.org --stream=tar ./ | bzip2 -

备份到/data/backup下

备份所有库:$ innobackupex --defaults-file=/etc/my.cnf--user=zhengda \
           --password=goyun.org --socket=/tmp/mysql.sock /data/backup
           
备份两个库:$ innobackupex --databases="db1 db2"--defaults-file=/etc/my.cnf--user=zhengda \
            --password=goyun.org --socket=/tmp/mysql.sock /data/backup

增量备份

注:第②次增量备份要树立在全体备份之上才方可
–incremental /data/backup1 钦赐增量备份存放的指标目录
–incremental-basedir=/data/backup 钦定完整备份的目录

$ innobackupex  --defaults-file=etc/my.cnf --user=zhengda --password=goyun.org \
--socket=/tmp/mysql.sock --incremental /data/backuup1 --incremental-basedir=/data/backup/#会根据当天时间生成个目录

拓展第三遍增量备份,须求钦定上叁遍增量备份的目录
–incremental /data/backup2 钦赐这一次增量备份目录
–incremental-basedir=/data/backup1 钦定上次增量备份目录

$ innobackupex --defaults-file=/etc/my.cnf --user=zhengda --password=goyun.org \
--socket=/tmp/mysql.sock --incremental /data/backup2 --incremental-basedir=/data/backup1/(....)

平复备份

–apply-log 准备复苏备份的抉择
–use-memory=8G 设置准备复苏数据时利用的内部存款和储蓄器,能够加强准备所费用的年月

$ innobackupex --apply-log --use-memory=8G /data/backup
#还原如下
$ innobackupex  --defaults-file=/etc/my.cnf --user= --password= --copy-back /data/backup
#或
$ xtrabackup --user=zhengda --password=goyun.org --copy-back --target-dir=/data/backup

运用Mysqldump进行逻辑备份

mysqldump作为根本的MySQL备份工具,功用特出强劲。备份参数、苏醒策略,须求仔细研讨。

备份数据库:

备份单个数据库或单个数据库中的钦定表:

mysqldump [OPTIONS] database [tb1] [tb2]…

备份多个数据库:

mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3…]

备份全体数据库:

mysqldump [OPTIONS] –all-databases [OPTIONS]

添加此选项备份时不锁表

--single-transaction

案例:本地备份全体库

mysqldump -u root -p密码 --all-databases > ./all.sql

案例:本地复苏全数库

mysql -u root -p密码  < ./all.sql

案例:备份本地db1,db2七个库

mysqldump -u root -p密码 --databases db1 db2 > ./db1_2.sql

案例:恢复生机地面db1,db2七个库

mysql -u root -p密码 db1 db2 < ./db1_2.sql

案例:在B主机上实施将A主机的yun库备份到B主机上 ,在B主机上急需创制yun库

-C代表主机间的多少传输使用数据压缩

mysqldump --host=192.168.6.108(A) -u root -p密码 --opt yun | mysql --host=localhost(B) -u root -p密码 -C yun

案例:在 B主机 上推行将 A主机 上的具备数据库备份到地头

mysqldump --host=192.168.6.108(A) -u root -p密码 --all-databases > all.sql(B)

案例:苏醒在B主机上进行

此作品来自水龟运营 wuguiyunwei.com

大家的公共号

澳门金沙国际 5

Ali云的Mysql备份方案,xtrabackup阿里 XtraBackup物理备份 Percona
XtraBackup是社会风气上绝无仅有的开源,免费的MySQL热备份软件,为In…

安装XtraBackup 源

[root@ZHENGDA ~]# uname -r
3.10.0-327.el7.x86_64

yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

安装

yum -y install percona-xtrabackup-24

制造连接用户并受权

mysql> CREATE USER 'zhengda'@'localhost' IDENTIFIED BY 'goyun.org';
mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'zhengda'@'localhost';
mysql> FLUSH PRIVILEGES;

总体备份

(1)xtrabackup只好备份innodb和xtradb两种引擎的表,而不能够备份myisam引擎的表;
(2)innobackupex是八个打包了xtrabackup的Perl脚本,支持同时备份innodb和myisam,但在对myisam备份时需求加1个大局的读锁。还有就是myisam不辅助增量备份。

$ xtrabackup --user=zhengda --password=goyun.org --backup \ 
  --target-dir=/data/backup  
$ innobackupex --user=zhengda --password=goyun.org /path/ to /backup/dir/ 
$ innobackupex --user=zhengda --password=goyun.org --stream=tar ./ | bzip2 -

备份到/data/backup下

备份所有库:$ innobackupex --defaults-file=/etc/my.cnf--user=zhengda \
           --password=goyun.org --socket=/tmp/mysql.sock /data/backup
           
备份两个库:$ innobackupex --databases="db1 db2"--defaults-file=/etc/my.cnf--user=zhengda \
            --password=goyun.org --socket=/tmp/mysql.sock /data/backup

增量备份

注:第三遍增量备份要树立在总体备份之上才方可
–incremental /data/backup1 钦点增量备份存放的指标目录
–incremental-basedir=/data/backup 钦定完整备份的目录

$ innobackupex  --defaults-file=etc/my.cnf --user=zhengda --password=goyun.org \
--socket=/tmp/mysql.sock --incremental /data/backuup1 --incremental-basedir=/data/backup/#会根据当天时间生成个目录

拓展第一遍增量备份,要求钦定上三次增量备份的目录
–incremental /data/backup2 钦命本次增量备份目录
–incremental-basedir=/data/backup1 钦赐上次增量备份目录

$ innobackupex --defaults-file=/etc/my.cnf --user=zhengda --password=goyun.org \
--socket=/tmp/mysql.sock --incremental /data/backup2 --incremental-basedir=/data/backup1/(....)

平复备份

–apply-log 准备苏醒备份的选用
–use-memory=8G 设置准备苏醒数据时利用的内部存款和储蓄器,能够提升准备所开支的时间

$ innobackupex --apply-log --use-memory=8G /data/backup
#还原如下
$ innobackupex  --defaults-file=/etc/my.cnf --user= --password= --copy-back /data/backup
#或
$ xtrabackup --user=zhengda --password=goyun.org --copy-back --target-dir=/data/backup

运用Mysqldump进行逻辑备份

mysqldump作为关键的MySQL备份工具,功效万分强大。备份参数、恢复策略,需求细致钻探。

备份数据库:

备份单个数据库或单个数据库中的钦定表:

mysqldump [OPTIONS] database [tb1] [tb2]…

备份七个数据库:

mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3…]

备份全数数据库:

mysqldump [OPTIONS] –all-databases [OPTIONS]

添加此选项备份时不锁表

--single-transaction

案例:本地备份全数库

mysqldump -u root -p密码 --all-databases > ./all.sql

案例:本地复苏全数库

mysql -u root -p密码  < ./all.sql

案例:备份本地db1,db2八个库

mysqldump -u root -p密码 --databases db1 db2 > ./db1_2.sql

案例:复苏当地db1,db2四个库

mysql -u root -p密码 db1 db2 < ./db1_2.sql

案例:在B主机上推行将A主机的yun库备份到B主机上 ,在B主机上供给创立yun库

-C表示主机间的数目传输使用数据压缩

mysqldump --host=192.168.6.108(A) -u root -p密码 --opt yun | mysql --host=localhost(B) -u root -p密码 -C yun

案例:在 B主机 上实施将 A主机 上的具有数据库备份到当地

mysqldump --host=192.168.6.108(A) -u root -p密码 --all-databases > all.sql(B)

案例:苏醒在B主机上执行

此文章来自乌龟运转wuguiyunwei.com

我们的国有号

澳门金沙国际 6

4)xbstream

用来解压或压缩xbstream格式的压缩文件

5)xbcloud

utility used for downloading and uploading full or part of xbstream
archive from/to cloud.

2、Percona XtraBackup info

是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存款和储蓄引擎的数据库非阻塞地备份(对于MyISAM的备份同样需求加表锁)

you can achieve the following benefits:

  • Backups that complete quickly and reliably
  • Uninterrupted transaction processing during backups
  • Savings on disk space and network bandwidth
  • Automatic backup verification
  • Higher uptime due to faster restore time

features  

  • Create hot InnoDB backups without pausing your database
  • Make incremental backups of MySQL
  • Stream compressed MySQL backups to another server
  • Move tables between MySQL servers on-line
  • Create new MySQL replication slaves easily
  • Backup MySQL without adding load to the server

  • 毋庸结束数据库进行InnoDB热备
  • 增量备份MySQL
  • 流压缩到传输到另外服务器
  • 在线移动表
  • 能相比较便于地成立主从同步
  • 备份MySQL时不会叠加服务器负荷

三 、Xtrabackup工具援救对InnoDB存储引擎的增量备份,工作原理如下

① 、在InnoDB内部会珍视3个redo/undo日志文件,也得以称之为事务日志文件。事务日志会储存每三个InnoDB表数据的记录修改。当InnoDB运行时,InnoDB会检查数据文件和作业日志,并施行三个步骤:它利用(前滚)已经交由的工作日志到数据文件,并将修改过但并未付诸的数目进行回滚操作。

二 、Xtrabackup在运转时会记住log sequence
number(LSN),并且复制全数的数据文件。复制进度供给部分岁月,所以那时期倘诺数据文件有改变,那么将会使数据库处于三个见仁见智的时间点。那时,xtrabackup会运维五个后台进度,用于监视事务日志,并从事情日志复制最新的改动。Xtrabackup必须不断的做这几个操作,是因为作业日志是会轮转重复的写入,并且作业日志能够被选定。所以xtrabackup自运行上马,就不停的将事情日志中每一种数据文件的修改都记录下来。

叁 、上边正是xtrabackup的备份进程。接下来是准备(prepare)过程,在这一个历程中,xtrabackup使用在此之前复制的业务日志,对一一数据文件执行劫难复苏(就像mysql刚运营时要做的同样)。当以此进程甘休后,数据库就能够做苏醒还原了,那么些历程在xtrabackup的编写翻译二进制造进度序中完结。程序innobackupex能够允许我们备份MyISAM表和frm文件从而扩充了简便易行和机能。Innobackupex会运营xtrabackup,直到xtrabackup复制数据文件后,然后实施FLUSH
TABLES WITH READ
LOCK来阻拦新的写入进来并把MyISAM表数据刷到硬盘上,之后复制MyISAM数据文件,最后获释锁。

肆 、备份MyISAM和InnoDB表最后会处于相同,在备选(prepare)进程甘休后,InnoDB表数据已经前滚到全部备份结束的点,而不是回滚到xtrabackup刚初始时的点。那一个小时点与履行FLUSH
TABLES WITH READ
LOCK的时刻点同样,所以myisam表数据与InnoDB表数据是手拉手的。类似oracle的,InnoDB的prepare进程能够称为recover(苏醒),myisam的多寡复制进度能够称作restore(还原)。

⑤ 、Xtrabackup 和
innobackupex那多个工具都提供了广大前文没有涉及的功力特色。手册上有对种种职能都有详实的介绍。简单介绍下,那么些工具提供了如流(streaming)备份,增量(incremental)备份等,通过复制数据文件,复制日志文件和交由日志到数据文件(前滚)达成了各个复合备份格局。

二、安装xtrabackup

1、安装

yum -y install perl perl-devel libaio libaio-devel 
yum -y install  perl-DBI  perl-DBD-MySQL  perl-TermReadKey perl-devel perl-Time-HiRes

cd /usr/local/src
wget -c https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.2/ \
binary/tarball/percona-xtrabackup-2.3.2-Linux-x86_64.tar.gz

tar -zxf percona-xtrabackup-2.3.2-Linux-x86_64.tar.gz
cd percona-xtrabackup-2.3.2-Linux-x86_64/
mkdir  /usr/local/xtrabackup
mv bin  /usr/local/xtrabackup/
ln -s /usr/local/xtrabackup/bin/* /usr/bin/

2、修改my.cnf

[mysqld]  
datadir=/var/lib/mysql

innodb_data_home_dir = /data/mysql/ibdata
innodb_log_group_home_dir = /data/mysql/iblogs
innodb_data_file_path=ibdata1:10M;ibdata2:10M:autoextend
innodb_log_files_in_group = 2
innodb_log_file_size = 1G

三 、全体数据库备份与回复

1、备份

//全部数据库备份
innobackupex --user=root --password=123456 /data/backup/

//单数据库备份
innobackupex --user=root --password=123456 --database=backup_test /data/backup/

//多库
innobackupex--user=root --password=123456 --include='dba.*|dbb.*' /data/backup/

//多表
innobackupex --user=root --password=123456 --include='dba.tablea|dbb.tableb' /data/backup/

//数据库备份并压缩
log=zztx01_`date +%F_%H-%M-%S`.log
db=zztx01_`date +%F_%H-%M-%S`.tar.gz
innobackupex --user=root --stream=tar /data/backup  2>/data/backup/$log | gzip 1> /data/backup/$db
//不过注意解压需要手动进行,并加入 -i 的参数,否则无法解压出所有文件,疑惑了好长时间

//如果有错误可以加上  --defaults-file=/etc/my.cnf 

2、还原

service mysqld stop
mv /data/mysql /data/mysql_bak && mkdir -p /data/mysql

//--apply-log选项的命令是准备在一个备份上启动mysql服务 
innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /data/backup/2015-09-18_16-35-12 

//--copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文件里规定的初始位置 
innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /data/backup/2015-09-18_16-35-12 

chown -R mysql.mysql /data/mysq
service mysqld start

四 、增量备份与回复

一 、创造测试数据库和表

create database backup_test; //创建库 

CREATE TABLE `backup` ( //创建表 
`id` int(11) NOT NULL AUTO_INCREMENT , 
`name` varchar(20) NOT NULL DEFAULT '' , 
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP , 
`del` tinyint(1) NOT NULL DEFAULT '0', 
PRIMARY KEY (`id`) 
) ENGINE=myisam DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

二 、增量备份

#--incremental:增量备份的文件夹
#--incremental-dir:针对哪个做增量备份

//第一次备份
mysql> INSERT INTO backup (name) VALUES ('xx'),('xxxx'); //插入数据 
innobackupex  --user=root --incremental-basedir=/data/backup/2015-09-18_16-35-12 --incremental /data/backup/

//再次备份
mysql> INSERT INTO backup (name) VALUES ('test'),('testd'); //在插入数据 
innobackupex --user=root --incremental-basedir=/data/backup/2015-09-18_18-05-20 --incremental /data/backup/ 

三 、查看增量备份记录文件

[[email protected] 2015-09-18_16-35-12]# cat xtrabackup_checkpoints //全备目录下的文件 
backup_type = full-prepared 
from_lsn = 0 //全备起始为0 
to_lsn = 23853959 
last_lsn = 23853959 
compact = 0 

[[email protected] 2015-09-18_18-05-20]# cat xtrabackup_checkpoints //第一次增量备份目录下的文件 
backup_type = incremental 
from_lsn = 23853959 
to_lsn = 23854112 
last_lsn = 23854112 
compact = 0 

[[email protected] 2015-09-18_18-11-43]# cat xtrabackup_checkpoints //第二次增量备份目录下的文件 
backup_type = incremental 
from_lsn = 23854112 
to_lsn = 23854712 
last_lsn = 23854712 
compact = 0 

增量备份做完后,把backup_test那个数据库删除掉,drop database
backup_test;那样能够对照还原后

肆 、增量还原

分成八个步骤

a.prepare

innobackupex --apply-log /path/to/BACKUP-DIR

那儿多少能够被先后访问使用;可接纳—use-memory选项钦定所用内部存款和储蓄器以加速进度,私下认可100M;

b.recover

innobackupex --copy-back /path/to/BACKUP-DIR

从my.cnf读取datadir/innodb_data_home_dir/innodb_data_file_path等变量

先复制MyISAM表,然后是innodb表,最后为logfile;–data-dir目录必须为空

千帆竞发联合

innobackupex --apply-log --redo-only /data/backup/2015-09-18_16-35-12
innobackupex --apply-log --redo-only --incremental /data/backup/2015-09-18_16-35-12 --incremental-dir=/data/backup/2015-09-18_18-05-20
innobackupex --apply-log --redo-only --incremental /data/backup/2015-09-18_16-35-12 --incremental-dir=/data/backup/2015-09-18_18-11-43

#/data/backup/2015-09-18_16-35-12 全备份目录
#/data/backup/2015-09-18_18-05-20 第一次增量备份产生的目录
#/data/backup/2015-09-18_18-11-43 第二次增量备份产生的目录

复原数据

service mysqld stop 
innobackupex --copy-back /data/backup/2015-09-18_16-35-12
service mysqld start

5、innobackup 常用参数表达

–defaults-file
同xtrabackup的–defaults-file参数

–apply-log
对xtrabackup的–prepare参数的包装

–copy-back
做数据恢复生机时将备份数据文件拷贝到MySQL服务器的datadir ;

–remote-host=HOSTNAME
透过ssh将备份数据存款和储蓄到进度服务器上;

–stream=[tar]
备 份文件输出格式, tar时行使tar4ibd , 该公文可在XtarBackup
binary文件中获得.若是备份时有钦定–stream=tar,
则tar4ibd文件所处目录一定要在$PATH中(因为运用的是tar4ibd去收缩,
在XtraBackup的binary包中可获得该文件)。

使用参数stream=tar备份的时候,你的xtrabackup_logfile或者会一时半刻放在/tmp目录下,假诺您备份的时候出现写入较大的话
xtrabackup_logfile或者会相当的大(5G+),很也许会撑满你的/tmp目录,能够透过参数–tmpdir钦定目录来消除这些难点。

–tmpdir=DIRECTORY
当有钦赐–remote-host or –stream时, 事务日志权且存款和储蓄的目录,
暗许接纳MySQL配置文件中所钦赐的一时半刻目录tmpdir

–redo-only –apply-log组,
强制备份日志时只redo ,跳过rollback。那在做增量备份时特别须求。

–use-memory=#
该参数在prepare的时候使用,控制prepare时innodb实例使用的内部存款和储蓄器量

澳门金沙国际 ,–throttle=IOS
同xtrabackup的–throttle参数

–sleep=是给ibbackup使用的,钦命每备份1M数码,进程截至拷贝多少皮秒,也是为了在备份时尽量减小对健康工作的熏陶,具体可以查看ibbackup的手册

–compress[=LEVEL]
对备份数据迚行压缩,仅扶助ibbackup,xtrabackup还并未实现;

–include=REGEXP

xtrabackup参数–tables的卷入,也扶助ibbackup。备份包含的库表,例如:–include=”test.*”,意思是要备份
test库中有着的表。假诺急需全备份,则省略这些参数;如若须要备份test库下的1个表:test1和test2,则写
成:–include=”test.test1|test.test2″。也得以使用通配符,如:–include=”test.test*”。

–databases=LIST
列出须要备份的databases,假如没有点名该参数,全体包蕴MyISAM和InnoDB表的database都会被备份;

–uncompress
解压备份的数据文件,辅助ibbackup,xtrabackup还没有落到实处该意义;

–slave-info,
备 份从库, 加上–slave-info备份目录下会多生成两个xtrabackup_slave_info
文件, 那里会保存主日志文件以及偏移, 文件内容接近于:CHANGE MASTE君越 TO
MASTE君越_LOG_FILE=”, MASTER_LOG_POS=0

–socket=SOCKET
内定mysql.sock所在地点,以便备份进度登录mysql.

 

 

参考

一 、 Percona Xtrabackup 简介 ① 、Xtrabackup bin目录文件 介绍
1)innobackupex innobackup…

相关文章