亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Xtrabacup如何備份

發布時間:2021-11-25 10:21:39 來源:億速云 閱讀:126 作者:小新 欄目:數據庫

這篇文章將為大家詳細講解有關Xtrabacup如何備份,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

第1章 XTRABACKUP

1.1 xtrabackup介紹

InnoDB 有個商業的InnoDB Hotbackup,可以對InnoDB引擎的表實現在線熱備。而 percona出品的Xtrabackup,是InnoDB Hotbackup的一個開源替代品,可以在線對InnoDB/XtraDB引擎的表進行物理備份。mysqldump支持在線備份,不過是邏輯備份,效率比較差。xtrabackup是開源的MySQL備份工具,物理備份,效率很不錯。

Xtrabackup有兩個主要的工具:xtrabackup、innobackupex,其中xtrabackup只能備份InnoDB和XtraDB兩種數據表,innobackupex則封裝了xtrabackup,同時可以備份MyISAM數據表。Xtrabackup做備份的時候不能備份表結構、觸發器等等,智能紛紛.idb數據文件。另外innobackupex還不能完全支持增量備份,需要和xtrabackup結合起來實現全備的功能。

1.2 xtrabackup特點介紹

C語言編寫,可以備份Innodb、XtraD,不拷貝*.frm文件

支持的引擎有:

InnoDB、Xtradb:hotbackup

MyISAM: with read lock

具有的特點有如下幾點:

§  1)備份過程快速、可靠;

§  (2)備份過程不會打斷正在執行的事務;

§  (3)能夠基于壓縮等功能節約磁盤空間和流量;

§  (4)自動實現備份檢驗;

§  (5)還原速度快;

1.3 Xtrabackup的下載安裝

Xtrabackup工具由Percona公司開發的開源熱備工具,可以到官網下載到最新的版本文件。

https://www.percona.com/downloads/下載各種版本,也可以在系統中使用wget下載。

方法一:

wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.4-1.el6.x86_64.rpm

安裝依賴的包

yum install perl-DBI  perl-DBD-MySQL  perl-Time-HiRes perl-IO-Socket-SSL installperl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

方法二:

下載好的rpm包,直接使用yum 安裝,自動安裝依賴包,但是需要有epel源的支持,所以要下載配置好epe'源

wget -O /etc/yum.repos.d/epel.repo  http://mirrors.aliyun.com/repo/epel-6.repo

yum install -y percona-xtrabackup-24-2.4.4-1.el6.x86_64.rpm

1.4 xtrabackup備份用戶需要的權限

RELOAD 和 LOCKTABLES 權限為了執行 FLUSHTABLES WITH READ LOCK

REPLICATION CLIENT 為了獲取binary log位置

CREATE TABLESPACE 權限為了導入表,用戶表級別的恢復

SUPER權限在slave環境下備份用來啟動和關閉slave線程

1.5 Xtrabackup備份

InnoDB 和非InnoDB文件的備份都是通過拷貝文件,但是實現的方式是不同的。

  • InnoDB是以page為粒度做的的(Xtrabackup),Xtrabackup在讀取每個page時會校驗checksum值,保證數據塊是一致的

  • 非InnoDB是cp或者tar 命令,innobackupex在cp MyISAM文件時已經做了flush(FTWRL),磁盤上的文件也是完整的,所以最終備份集里的數據文件都是寫入完整的

  • 1.5.1備份流程

Xtrabacup如何備份

1.5.2 全備流程圖

Xtrabacup如何備份

1.5.3 增量備份流程圖

Xtrabacup如何備份

1.6 Xtrabackup恢復

1.6.1 恢復流程圖

Xtrabacup如何備份

Xtrabacup如何備份

Xtrabacup如何備份

Xtrabacup如何備份

Xtrabacup如何備份

1.7 Xtrabackup的使用

規范操作,我們先建好全備和增量備份的路徑

[root@db01 backups]# pwd

/data/backups

[root@db01 backups]# ll

總用量 12

drwxr-xr-x 4 root root 4096 9月   4 17:28 full

drwxr-xr-x 4 root root 4096 9月   4 17:26 inc

操作過程:

 mkdir/data/backups/{full,inc} -p

1.7.1 全備

*****生產環境中為了數據一致性最好是ROW模式,因為其他的模式數據會丟失*****

命令語法格式:

innobackupex --user=User--password=PWD/data/backup/full --slave-info --safe-slave-backup --parallel=4--safe-slave-backup-timeout=7200  --rsync

--rsync 這個參數一般用作分布式數據庫集群的時候

全備步驟:

1、準備一個xtr_test數據庫,并在xtr_test數據庫中插入testbackup表,字段包含id,step兩個字段

mysql -uroot -p789 -S /data/3306/mysql.sock
show databases;
create database xtr_test;
use xtr_test;
select database();
create table testbackup(id int not nullauto_increment primary key,step varchar(50))engine=innodb;
show tables;
desc testbackup;
show create table testbackup\G

結果樣子:

mysql> desc testbackup;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    |int(11)     | NO   | PRI | NULL    | auto_increment |
| step  |varchar(50) | YES  |     | NULL   |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.02 sec)
mysql> show create table testbackup\G
*************************** 1. row***************************
       Table:testbackup
Create Table: CREATE TABLE `testbackup` (
  `id`int(11) NOT NULL AUTO_INCREMENT,
  `step`varchar(50) DEFAULT NULL,
  PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

2、插入字段“firstfull backup”到testbackup表中

insert into testbackup(step) values('first fullbackup');

操作結果:

mysql> select * from testbackup;
+----+-------------------+
| id | step              |
+----+-------------------+
|  1 | firstfull backup |
+----+-------------------+
1 row in set (0.02 sec)

3、執行全備

此時,我們創建的xtr_test數據庫中的testbackup表中有數據,而且我們創建的/data/backups/full文件下面沒有任何內容。下面執行全備,操作命令上面已經給出,此次操作使用的多實例所以用到了--socket參數。

innobackupex --user=root --password=789/data/backups/full --slave-info --safe-slave-backup --parallel=4--safe-slave-backup-timeout=7200 --socket=/data/3306/mysql.sock

執行結果一定要看到“160905 20:01:38 completedOK!" OK的字樣,才表示成功,從打出的日志我們也能看到備份的過程和上面給出的全備流程圖對比起來。

正確輸出以后會在/data/backups/full 指定的目錄中生成一個有時間和序號的目錄,這個目錄就是全備文件存放地方如:

[root@db01 ~]# ls -lrt /data/backups/full/
總用量 4
drwxr-x--- 8 root root 4096 9月   5 20:012016-09-05_20-01-32

1.7.2 增量備份

增量備份的前提是一定要有一個全備 ,只有有了全備才能進行所謂的增量備份!!!

增量備份的方式有兩種,分別為:

第一種:通過全備的文件

innobackupex --user=root --password=789 --incremental --incremental-lsn=1783249/data/backups/inc  --slave-info--safe-slave-backup --parallel=4 --safe-slave-backup-timeout=7200--socket=/data/3306/mysql.sock

第二種方法:通過LSN

innobackupex --user=root --password=789 --incremental --incremental-lsn=1783249/data/backups/inc  --slave-info--safe-slave-backup --parallel=4 --safe-slave-backup-timeout=7200--socket=/data/3306/mysql.sock

1、準備好全備最新一次的全備文件,這里只做了一次,所以只有一個目錄

[root@db01 ~]# ls -lrt /data/backups/full/
總用量 4
drwxr-x--- 8 root root 4096 9月   5 20:01 2016-09-05_20-01-32

2、對xtr_test數據庫中的testbackup表,進行數據的插入,插入內容為“fist increment backup”

mysql> insert into testbackup(step)values('first increment backup');
Query OK, 1 row affected (0.02 sec)
 
mysql> select * from testbackup;
+----+------------------------+
| id | step                  |
+----+------------------------+
|  1 | firstfull backup      |
|  2 | firstincrement backup |
+----+------------------------+
2 rows in set (0.01 sec)

3、執行增量備份

這里我們要確定好最新一次的全備(強調)!!!

innobackupex --user=root --password=789--incremental  --incremental-basedir=/data/backups/full/
2016-09-05_20-01-32 
 /data/backups/inc --slave-info--safe-slave-backup --parallel=4 --safe-slave-backup-timeout=7200 --socket=/data/3306/mysql.sock

這里執行結果一定要看到“completed OK!" OK的字樣,才表示成功如果是分布式也可以用--rsync,我們會在創建的inc目錄下發現創建了一個以時間和序號命名的目錄,這個目錄就是Xtrabackup備份的增量。

執行結果:

[root@db01 ~]# ll /data/backups/inc
總用量 4
drwxr-x--- 8 root root 4096 9月   5 20:19 2016-09-05_20-19-48

TIP:innodb默認是使用的系統表空間,我們可以通過配置參數來使idb文件到獨立空間中innodb_file_per_table = 1 這個是修改idb到獨立空間,如果數據庫是線上的,我們可以在配置文件my.cnf配置以上參數后,再使用set globalinnodb_file_per_table= 1 臨時生效。

alter table backupstep engine=innodb; 修改表的引擎,這個操作很費時間,需要在業務低點的時候操作

1.7.3 再增量備份的基礎上再備份

在創建的xtr_test數據庫中的testbackup表中再次插入內容“secondincrement backup”

mysql> insert into testbackup(step) values('secondincrement backup');
Query OK, 1 row affected (0.01 sec)
 
mysql> select * from testbackup;
+----+-------------------------+
| id | step                    |
+----+-------------------------+
|  1 | firstfull backup       |
|  2 | first incrementbackup  |
|  3 | secondincrement backup |
+----+-------------------------+
3 rows in set (0.00 sec)

1、確定最新的全備文件

[root@db01 full]# pwd
/data/backups/full
[root@db01 full]# ls -lrt
總用量 4
drwxr-x--- 8 root root 4096 9月   5 20:01 2016-09-05_20-01-32

   2、確定上一次增量備份的LSN

[root@db01 inc]# ls -lrt
總用量 4
drwxr-x--- 8 root root 4096 9月   5 20:19 2016-09-05_20-19-48
[root@db01 inc]# cd 2016-09-05_20-19-48/
[root@db01 2016-09-05_20-19-48]# ls
backup-my.cnf krik    performance_schema      xtrabackup_checkpoints  xtr_test
ibdata1.delta mysql   test                    xtrabackup_info
ibdata1.meta  oldboy xtrabackup_binlog_info xtrabackup_logfile
[root@db01 2016-09-05_20-19-48]# cat xtrabackup_checkpoints 
backup_type = incremental
from_lsn = 1793716   #這個值一定是和上一次全備的last_lsn一樣,否則就是數據不全
to_lsn = 1794019
last_lsn = 1794019
compact = 0
recover_binlog_info = 0

4、
執行增量備份命令

innobackupex  --user=root --password=789 --incremental--incremental-lsn=1794019 /data/backups/inc --slave-info --safe-slave-backup --parallel=4 --safe-slave-backup-timeout=7200--socket=/data/3306/mysql.sock

這個值是通過查看最近一次增量備份的xtrabackup_checkpoints得到

這里執行結果一定要看到“completed OK!" OK的字樣,才表示成功

執行結果會在指定的目錄/data/backups/inc下生成一個新的文件

[root@db01 2016-09-05_20-19-48]# cd ..
[root@db01 inc]# pwd
/data/backups/inc
[root@db01 inc]# ls -lrt
總用量 8
drwxr-x--- 8 root root 4096 9月   5 20:19 2016-09-05_20-19-48
drwxr-x--- 8 root root 4096 9月   5 21:18 2016-09-05_21-18-30

到此我們對數據進行了完整的備份,下面會再創建一條語句,但是不會做增量備份,為了是下面測試二進制日志恢復數據。接下來要玩大的了,刪庫,后面看看能恢復回來不

生產環境中為了數據一致性最好是ROW模式,因為其他的模式數據會丟失

mysql> show variables like "log_bin";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin      | ON    |
+---------------+-------+
1 row in set (0.00 sec)
 
mysql> show variables like"%binlog_format%";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW   |
+---------------+-------+
1 row in set (0.00 sec)
 
ot root   418 9月   4 15:34backup-my.cnf

第2章 數據庫恢復

Xtrabacup如何備份

Xtrabacup如何備份

Xtrabacup如何備份

這里只做redo,不做undo

2.1 恢復數據前準備

數據庫的恢復,是從全備--->1次增量--->2次增量......--->N次增量直到故障點的位置的順序來恢復的

如果是全備:最近一次的全備----> binlog

2.1.1 創建新的語句為二進制日志恢復做準備

mysql> insert into testbackup(step)values('second increment backup');
Query OK, 1 row affected (0.01 sec)
 
mysql> select * from testbackup;
+----+-------------------------+
| id | step                    |
+----+-------------------------+
|  1 | firstfull backup       |
|  2 | firstincrement backup  |
|  3 | secondincrement backup |
+----+-------------------------+
3 rows in set (0.00 sec)
 
mysql> insert into testbackup(step)values('last  backup');
Query OK, 1 row affected (0.00 sec)
 
mysql> select * from testbackup;
+----+-------------------------+
| id | step                    |
+----+-------------------------+
|  1 | firstfull backup       |
|  2 | firstincrement backup  |
|  3 | secondincrement backup |
|  4 |last  backup            |
+----+-------------------------+
4 rows in set (0.00 sec)
 
mysql> truncate table testbackup;
Query OK, 0 rows affected (0.02 sec)
 
mysql> select * from testbackup;
Empty set (0.00 sec)

2.2 恢復第一次的全備數據庫

恢復數據庫的時候一定會重啟一次數據庫的,所以我們可以選擇停庫操作(如果可以的情況下),下面以停庫操作練習:

1、  停掉數據庫

[root@db01 inc]# /data/3306/mysql stop
Stoping MySQL...
[root@db01 inc]# netstat -lntup|grep 3306
[root@db01 inc]#

2、  恢復最近一次的全備,*****在操作前一定要先備份*****

[root@db01 backups]# for i in `ls/data/backups/`;do cp -r $i /data/backups/$i.bak;done
[root@db01 backups]# ls
full full.bak  inc  inc.bak
[root@db01 backups]# cp -r /data/3306/data/data/backups/3306_data.bak
[root@db01 backups]# ls
3306_data.bak full  full.bak  inc inc.bak

3、  導入全備數據

innobackupex --user=root --password=789 --apply-log--redo-only /data/backups/full/2016-09-05_20-01-32--socket=/data/3306/mysql.sock

要確認看到OK字樣,表示導入成功

2.3 恢復第一次全備后的第一次增量備份

1、    確定第一次增量備份的文件目錄

[root@db01 inc]# ls -lrt
總用量 8
drwxr-x--- 8 root root 4096 9月   5 20:19 2016-09-05_20-19-48
drwxr-x--- 8 root root 4096 9月   5 21:18 2016-09-05_21-18-30

通過時間排序可以看到這里第一次是2016-09-05_20-19-48,工作中可以自定義一些名字

2、    執行增量恢復

innobackupex --user=root --password=789 --apply-log--redo-only /data/backups/full/2016-09-05_20-01-32 --incremental-dir=/data/backups/inc/2016-09-05_20-19-48--socket=/data/3306/mysql.sock

 看到OK字樣表示成功

2.4 恢復第一次全備后的第二次增量備份

innobackupex --user=root --password=789 --apply-log--redo-only /data/backups/full/2016-09-05_20-01-32   --incremental-dir=/data/backups/inc/2016-09-05_21-18-30--socket=/data/3306/mysql.sock

到此Xtrabackup昨晚了redo操作,下面我們要把他寫入數據文件中。這一步才是把數據放到數據庫中

數據寫入數據文件:

innobackupex --user=root --password=789--apply-log /data/backups/full/2016-09-05_20-01-32  --socket=/data/3306/mysql.sock

同樣是看到OK字樣表示執行成功。

2.5 恢復數據到實例3306的數據中

Xtrabackup恢復是把所有的增量都疊加到了全備的身上,也就是恢復用的全備。它就是數據庫data,我們把這個全備目錄替換了3306數據庫的data數據

[root@db01 full]# rm -fr /data/3306/data/
[root@db01 full]# mv 2016-09-05_20-01-32//data/3306/data
[root@db01 full]# ll /data/3306/data
總用量 163884
-rw-r----- 1 root root       418 9月   5 20:01 backup-my.cnf
-rw-r----- 1 root root 134217728 9月   5 22:12 ibdata1
-rw-r----- 1 root root   4194304 9月   5 22:12 ib_logfile0
-rw-r----- 1 root root   4194304 9月   5 22:12 ib_logfile1
-rw-r----- 1 root root   4194304 9月   5 22:12 ib_logfile2
-rw-r----- 1 root root  12582912 9月   5 22:12 ibtmp1
drwxr-x--- 2 root root      4096 9月   5 22:10 krik
drwxr-x--- 2 root root      4096 9月   5 22:10 mysql
drwxr-x--- 2 root root      4096 9月   5 22:10 oldboy
drwxr-x--- 2 root root      4096 9月   5 22:10 performance_schema
drwxr-x--- 2 root root      4096 9月   5 22:10 test
-rw-r----- 1 root root        22 9月   5 22:10 xtrabackup_binlog_info
-rw-r--r-- 1 root root        33 9月   5 22:12 xtrabackup_binlog_pos_innodb
-rw-r----- 1 root root       113 9月   5 22:12 xtrabackup_checkpoints
-rw-r----- 1 root root       630 9月   5 22:10 xtrabackup_info
-rw-r----- 1 root root   8388608 9月   5 22:04 xtrabackup_logfile
drwxr-x--- 2 root root      4096 9月   5 22:10 xtr_test
[root@db01 full]# chown -R mysql.mysql/data/3306/data/
[root@db01 full]# ll /data/3306/data
總用量 163884
-rw-r----- 1 mysql mysql       418 9月   5 20:01 backup-my.cnf
-rw-r----- 1 mysql mysql 134217728 9月   5 22:12 ibdata1
-rw-r----- 1 mysql mysql   4194304 9月   5 22:12 ib_logfile0
-rw-r----- 1 mysql mysql   4194304 9月   5 22:12 ib_logfile1
-rw-r----- 1 mysql mysql   4194304 9月   5 22:12 ib_logfile2
-rw-r----- 1 mysql mysql  12582912 9月   5 22:12 ibtmp1
drwxr-x--- 2 mysql mysql      4096 9月   5 22:10 krik
drwxr-x--- 2 mysql mysql      4096 9月   5 22:10 mysql
drwxr-x--- 2 mysql mysql      4096 9月   5 22:10 oldboy
drwxr-x--- 2 mysql mysql      4096 9月   5 22:10 performance_schema
drwxr-x--- 2 mysql mysql      4096 9月   5 22:10 test
-rw-r----- 1 mysql mysql        22 9月   5 22:10 xtrabackup_binlog_info
-rw-r--r-- 1 mysql mysql        33 9月   5 22:12 xtrabackup_binlog_pos_innodb
-rw-r----- 1 mysql mysql       113 9月   5 22:12 xtrabackup_checkpoints
-rw-r----- 1 mysql mysql       630 9月   5 22:10 xtrabackup_info
-rw-r----- 1 mysql mysql   8388608 9月   5 22:04 xtrabackup_logfile
drwxr-x--- 2 mysql mysql      4096 9月   5 22:10 xtr_test

重啟數據庫測試

[root@db01 full]# cd /data/3306
[root@db01 3306]# ./mysql start
Starting MySQL...
[root@db01 3306]# netstat -lntup|grep 3306
tcp       0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      56714/mysqld
mysql> select * from testbackup;
+----+-------------------------+
| id | step                    |
+----+-------------------------+
|  1 | firstfull backup       |
|  2 | firstincrement backup  |
|  3 | secondincrement backup |
+----+-------------------------+
3 rows in set (0.00 sec)
測試增量恢復正常,但是我們最后做的一次操作,沒有出現,下面使用二進制binglog來恢復

2.6 binlog日志恢復數據

使用binlog恢復數據,我們需要來確定一個“范圍”這里我們需要確定從第二次增量備份后到執行刪除表的sql語句之前這個范圍;查找范圍,我們可以使用時間范圍、位置點pos來取這個范圍。

2.6.1 查找第二次增量的位置點

[root@db01 2016-09-05_21-18-30]# catxtrabackup_binlog_info
mysql-bin.000010   1201

這里我們知道了第二次增量結束后的位置點事1201,我們將以這個位置點為起止位置點

2.6.2 查找刪表語句時候的位置點

由于測試binlog日志文件少,這里很好查找,生產中要根據時間點來截取一段時間范圍內,然后在去查找

[root@db01 3306]# mysqlbinlog--base64-output=decode-rows mysql-bin.000010
# at 1376
#160905 21:46:41 server id 1  end_log_pos 1403     Xid = 164
COMMIT/*!*/;
# at 1403
#160905 21:46:59 server id 1  end_log_pos 1495     Query    thread_id=7   exec_time=0   error_code=0
SET TIMESTAMP=1473083219/*!*/;
truncate table testbackup
/*!*/;
# at 1495
#160905 21:52:16 server id 1  end_log_pos 1514     Stop
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

通過查找到語句后,我們找到了位置點,我們可以導出一個文件,通過vim編輯來搜索語句

2.6.3 binlog恢復數據

通過上面找出的起止點和終止點來恢復數據

mysqlbinlog --base64-output=decode-rows -v--start-position=1201 --stop-position=1403 mysql-bin.000010

來再次確認

恢復:

[root@db01 3306]# mysqlbinlog --start-position=1201--stop-position=1403 mysql-bin.000010|mysql -uroot -p789 -S/data/3306/mysql.sock

數據中查看:

mysql> select * from testbackup;
+----+-------------------------+
| id | step                    |
+----+-------------------------+
|  1 | firstfull backup       |
|  2 | firstincrement backup  |
|  3 | secondincrement backup |
|  4 |last  backup            |
+----+-------------------------+
4 rows in set (0.01 sec)

附錄---Xtrabackup參數詳解

Xtrabackup常用參數選項如下:

--slave-info:

   它會記錄master服務器的binary log的pos和name。會把記錄的信息記錄在xtrabackup_slave_info。在備份從庫時,可以使用該參數, 加上--slave-info備份目錄下會多生成一個xtrabackup_slave_info 文件, 這里會保存主日志文件以及偏移, 文件內容類似于:CHANGE MASTER TOMASTER_LOG_FILE='', MASTER_LOG_POS=0。

    這個參數適用的場景:假設現在有主庫A和從庫B,目前想再添加一臺備庫C,并讓備庫C以主庫A為master;因為主庫A是生產庫,壓力一般比較大,所以我們就在備庫B上備份一個數據庫,然后把這個備份拿到C服務器上 并導入到C庫,接下來再在C服務器上執行change master的命令:其中 master_host是A的ip,而master_log_file和master_log_pos就是這個xtrabackup_slave_info里面的值

案例:http://blog.chinaunix.net/uid-26446098-id-3395111.html幫助理解

--safe-salve-backup:

   它會停止slave SQL 進程,等備份完后,重新打開slave的SQL進程

--force-tar --stream=tar /tmp

   這些命令是用來壓縮備份為tar文件。具體看官方文檔

--defaults-file=#

默認配置文件的路徑,如果不該參數,xtrabackup將從依次從以下位置查找配置文件/etc/my.cnf、/etc/mysql/my.cnf、/usr/local/etc/my.cnf、~/.my.cnf,并讀取配置文件中的[mysqld]和[xtrabackup]配置段。[mysqld]中只需要指定datadir、innodb_data_home_dir、innodb_data_file_path、innodb_log_group_home_dir、innodb_log_files_in_group、innodb_log_file_size6個參數即可讓xtrabackup正常工作。

--defaults-extra-file=#

如果使用了該參數,在讀取了全局配置文件之后,會再讀取這里指定的配置文件

--target-dir=name

備份文件的存放目錄路徑

--backup

實施備份到target-dir

--prepare

實施對備份文件進行恢復前的準備(生成InnoDB log file)

--print-param

打印備份或恢復時需要的參數

--use-memory=#

該參數在 prepare 的時候使用,控制prepare時innodb實例使用的內存量

--suspend-at-end

在target-dir目錄下產生一個xtrabackup_suspended文件,將xtrabackup進程掛起,不停地將數據文件的變化同步到備份文件,直到用戶手工刪除xtrabackup_suspended文件

--throttle=#

每秒IO次數,限制backup時使用的I/O操作量,使備份對數據庫正常業務的影響最小化

--log-stream

該參數在backup的時候使用,將xtrabackup_logfile的內容輸出到標準輸出,使用該參數時會自動使用suspend-at-end參數,innobackupex腳本的stream 模式會使用該參數。

--incremental-lsn=name

增量備份時只拷貝LSN比該參數指定值新的ibd pages,前次備份到了哪個LSN可以看前次備份集的xtrabackup_checkpoints文件

--incremental-basedir=name

該參數在backup的時候使用,備份比該參數指定位置的備份集新的idb pages

--incremental-dir=name

該參數在prepare的時候使用,指定prepare時產生的.delta 文件和日志文件的存放路徑

--tables=name

在備份file-per-table類型的數據文件時使用,使用正則表達式指定需要備份的innodb表

--datadir=name

MySQL數據庫的數據文件目錄

關于“Xtrabacup如何備份”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

明溪县| 巴南区| 丽水市| 韶山市| 珠海市| 西乌珠穆沁旗| 龙江县| 正镶白旗| 深泽县| 稻城县| 扶余县| 乐亭县| 阿拉善盟| 东安县| 开远市| 晋江市| 汕头市| 楚雄市| 连山| 榆树市| 广饶县| 会昌县| 谷城县| 阳新县| 桦川县| 广州市| 衢州市| 乡宁县| 北辰区| 马尔康县| 娄底市| 河津市| 靖边县| 方城县| 肥乡县| 古丈县| 沈阳市| 无棣县| 和静县| 瑞金市| 长寿区|