Xtrabackup備份與恢復

2022-06-08 09:57:07 字數 4580 閱讀 6748

percona-xtrabackup是percona公司為了實現增量備份而開發的一款主流備份工具,支援mysql、percona server和mariadb,它包含了xtrabakup和innobakupe2個工具。

備份速度快,物理備份可靠

備份過程不會打斷正在執行的事務(無需鎖表)

能夠基於壓縮等功能節約磁碟空間和流量

自動備份校驗

還原速度快

可以流傳將備份傳輸到另外一台機器上

在不增加伺服器負載的情況備份資料

[root@cst opt]# ls

percona-xtrabackup-2.4.21-r5988af5-el8-x86_64-bundle.tar

[root@cst opt]# tar xf percona-xtrabackup-2.4.21-r5988af5-el8-x86_64-bundle.tar

[root@cst opt]# ls

percona-xtrabackup-2.4.21-r5988af5-el8-x86_64-bundle.tar

percona-xtrabackup-24-2.4.21-1.el8.x86_64.rpm

percona-xtrabackup-24-debuginfo-2.4.21-1.el8.x86_64.rpm

percona-xtrabackup-24-debugsource-2.4.21-1.el8.x86_64.rpm

percona-xtrabackup-test-24-2.4.21-1.el8.x86_64.rpm

percona-xtrabackup-test-24-debuginfo-2.4.21-1.el8.x86_64.rpm

[root@cst opt]# yum -y install percona*

備份——語法:

innobackupex --user=dbuser --password=dbuserpass --defaults-file=/etc/my.cnf /path/to/backup-dir/

恢復——語法:

innobackupex --copy-back --defaults-file=/etc/my.cnf /backups/

[root@cst backups]# innobackupex --user=root --password=123456 --host=127.0.0.1 /backups/   

[root@master ~]# mysql

mariadb> create database school;

query ok, 1 row affected (0.02 sec)

mariadb> use school;

database changed

mariadb> create table student(id int not null primary key auto_incerment,name varchar(100) not null,age tinyint);

query ok, 0 rows affected (0.07 sec)

mysql> insert into student(name,age) values('zhangsan',15),('lisi','16'),('wanger',15);

query ok, 3 rows affected (0.04 sec)

records: 3 duplicates: 0 warnings: 0

mariadb [school]> select * from student;

+----+----------+------+

| id | name | age |

+----+----------+------+

| 1 | zhangsan | 15 |

| 2 | lisi | 16 |

| 3 | wanger | 15 |

+----+----------+------+

3 rows in set (0.000 sec)

mariadb> quit;

bye//使用innobackupex進行增量備份

[root@cst backups]# innobackupex --user=root --host=127.0.0.1 --incremental /backups/ --incremental-basedir=/backups/2021-01-03_02-48-21/

[root@master backups]# ll 

total 0

drwxr-xr-x. 2 root root 6 jan 3 03:11 2021-01-03_02-48-21

drwxr-xr-x. 2 root root 6 jan 3 03:11 2021-01-03_03-06-45

[root@cst 2021-01-03_02-48-21]# cat xtrabackup_checkpoints #檢視全量備份的xtrabackup_checkpoints

backup_type = full-backuped

from_lsn = 0

to_lsn = 3127097

last_lsn = 3127097 compact = 0

recover_binlog_info = 0

[root@cst 2021-01-03_03-06-45]# cat xtrabackup_checkpoints   #檢視增量備份的xtrabackup_checkpoints

backup_type = incremental  

from_lsn = 3127097  

to_lsn = 3158741  

last_lsn = 3158741  

compact = 0

recover_binlog_info = 0

//模擬mysql故障,停止mysql

[root@cst ~]# systemctl stop mariadb.service

//刪除資料目錄中的所有資料

[root@cst ~]# rm -rf /usr/local/mysql/data/*

//合併全備資料目錄,確保資料的一致性

//將增量備份資料合併到全備資料目錄當中

[root@master ~]# cat /backups/2021-01-03_02-48-21/xtrabackup_checkpoints

from_lsn = 0  

to_lsn = 3158741  

last_lsn = 3158741

compact = 0

recover_binlog_info = 0

//資料恢復

[root@cst ~]# innobackupex --copy-back /backups/2021-01-03_02-48-21/

[root@master ~]# ll /usr/local/mysql/data/

total 73245

-rw-r----- 1 root root 79691776 jan 03 03:35 ibdata1

drwxr-x--- 2 root root 20 jan 03 03:35 kim

drwxr-x--- 2 root root 4096 jan 03 03:35 mysql

drwxr-x--- 2 root root 4096 jan 03 03:35 performance_schema

drwxr-x--- 2 root root 20 jan 03 03:35 repppp

drwxr-x--- 2 root root 56 jan 03 03:35 student

drwxr-x--- 2 root root 4096 jan 03 03:35 wordpress

-rw-r----- 1 root root 9 jan 03 03:35 xtrabackup_binlog_pos_innodb

-rw-r----- 1 root root 554 jan 03 03:35 xtrabackup_info

//更改資料的屬主屬組

[root@cst ~]# chown -r mysql.mysql /usr/local/mysql/data

[root@cst ~]# systemctl start mariadb.service

//檢視資料是否恢復

[root@master ~]# mysql -e "show databases;"

+----+----------+------+

| id | name | age |

+----+----------+------+

| 1 | zhangsan | 15 |

| 2 | lisi | 16 |

| 3 | wanger | 15 |

+----+----------+------+

3 rows in set (0.000 sec)

xtrabackup備份與恢復

xtrabackup是由percona開源的免費資料庫熱備份軟體,它能對innodb資料庫和xtradb儲存引擎的資料庫進行備份,對於myisam的備份需要加表鎖,當資料庫資料大於10g時,xtrabackup備份比mysqldump優秀。xtrabackup的執行檔案說明 xtrabackup 專...

Mysql 備份恢復與xtrabackup備份

1,在傳統語音通訊公司都是在具體硬體上開發音訊軟體。有了硬體就要有相應的驅動,在linux android上就是alsa相關的驅動軟體開發。對於前處理 編譯碼 傳輸等模組,既可以在底層做也可以在偏上面的層次做,這取決於軟體架構。我曾經在linux平台上硬體一樣軟體需求一樣的情況下由於軟體架構不一樣開...

xtrabackup單錶備份與恢復

備份 單錶備份主要是使用include引數,格式如下 include name 指定表名,格式 databasename.tablename具體命令如下 innobackupex defaults file data01 3306 conf my.cnf socket data01 3306 tmp...