MySQL數(shù)據(jù)xtrabackup物理備份的方式
一、物理備份的方式
1.完整備份
每次對數(shù)據(jù)進(jìn)行完整的備份,即對整個數(shù)據(jù)庫的備份、數(shù)據(jù)庫結(jié)構(gòu)和文件結(jié)構(gòu)的備份,保存的是備份完成時刻的數(shù)據(jù)庫,是差異備份與增量備份的基礎(chǔ)。
優(yōu)點(diǎn):備份與恢復(fù)操作簡單方便,恢復(fù)時一次恢復(fù)到位,恢復(fù)速度快
缺點(diǎn):占用空間大,備份速度慢
2.增量備份
每次備份上一次備份到現(xiàn)在產(chǎn)生的新數(shù)據(jù),每次都是跟上一次的備份數(shù)據(jù)作對比
只有那些在上次完全備份或者增量備份后被修改的文件才會被備份。以上次完整備份或上次的增量備份的時間為時間點(diǎn),僅備份這之間的數(shù)據(jù)變化。
特點(diǎn):因而備份的數(shù)據(jù)量小,占用空間小,備份速度快。但恢復(fù)時,需要從上一次的完整備份起按備份時間順序,逐個備份版本進(jìn)行恢復(fù),恢復(fù)時間長,如中間某次的備份數(shù)據(jù)損壞,將導(dǎo)致數(shù)據(jù)的丟失。
假設(shè)我們在第一天進(jìn)行一次完全備份。第二天增量備份時,只會備份第二天和第一天之間的變化數(shù)據(jù),第三天增量備份時,只會備份第三天和第二天之間的變化數(shù)據(jù),以此類推。
增量備份的優(yōu)勢是每次備份需要備份的數(shù)據(jù)較少,耗時較短,占用的空間較小。
劣勢是數(shù)據(jù)恢復(fù)比較麻煩,進(jìn)行數(shù)據(jù)恢復(fù)時,就要先恢復(fù)完全備份的數(shù)據(jù),再依次恢復(fù)第一次增量備份的數(shù)據(jù)、第二次增量備份的數(shù)據(jù)和第三次增量備份的數(shù)據(jù),最終才能恢復(fù)所有的數(shù)據(jù)。
3.差異備份
只備份跟完整備份不一樣的數(shù)據(jù),每次都是跟完整備份作對比
備份那些自從第一次完全備份之后被修改過的所有文件,備份的時間起點(diǎn)是從第一次完整備份起,且以后每次備份都是和第一次完整備份進(jìn)行比較(注意是【第一次】,不是上一次),備份自第一次完整備份以來所有的修改過的文件。備份數(shù)據(jù)量會越來越大。
特點(diǎn):占用空間比增量備份大,比完整備份小,恢復(fù)時僅需要恢復(fù)第一個完整版本和最后一次的差異版本,恢復(fù)速度介于完整備份和增量備份之間。
假設(shè)我們在第一天進(jìn)行一次完全備份。第二天差異備份時,會備份第二天和第一天之間的變化數(shù)據(jù),第三天進(jìn)行差異備份時,仍和第一天的原始數(shù)據(jù)進(jìn)行對比,把第二天和第三天所有的變化數(shù)據(jù)都備份在第二次差異備份中,以此類推。
差異備份既不像完全備份一樣把所有數(shù)據(jù)都進(jìn)行備份,也不像增量備份在進(jìn)行數(shù)據(jù)恢復(fù)時那么麻煩,只要先恢復(fù)完全備份的數(shù)據(jù),再恢復(fù)差異備份的數(shù)據(jù)即可。
不過,隨著時間的增加,和完全備份相比,變動的數(shù)據(jù)越來越多,那么差異備份也可能會變得數(shù)據(jù)量龐大、備份速度緩慢、占用空間較大。
總結(jié)
簡單的講,完整備份就是不管三七二十一,每次都把指定的備份目錄完整的復(fù)制一遍,不管目錄下的文件有沒有變化;
增量備份就是每次將之前(第一次、第二次、直到前一次)做過備份之后有變化的文件進(jìn)行備份;
差異備份就是每次都將第一次完整備份以來有變化的文件進(jìn)行備份。
二、xtrabackup物理備份
Xtrabackup是開源免費(fèi)的支持MySQL 數(shù)據(jù)庫熱備份的軟件,在 Xtrabackup 包中主要有 Xtrabackup 和 innobackupex 兩個工具。
其中 Xtrabackup 只能備份 InnoDB 和 XtraDB 兩種引擎;
innobackupex則是封裝了Xtrabackup,同時增加了備份MyISAM引擎的功能。
官網(wǎng):https://www.percona.com
下載地址:https://www.percona.com/downloads
下載地址:https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.26/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.26-1.el7.x86_64.rpm
1.安裝xtrabackup
//安裝xtrabackup //5.7版本:https://www.percona.com/downloads/Percona-XtraBackup-2.4/ ?[root@localhost ~]# wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.26/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.26-1.el7.x86_64.rpm ?[root@localhost ~]# yum install percona-xtrabackup-24-2.4.26-1.el7.x86_64.rpm -y //查看安裝情況 ?[root@localhost ~]# rpm -qa | grep xtrabackup percona-xtrabackup-24-2.4.26-1.el7.x86_64 //查看版本: ?[root@localhost ~]# xtrabackup --version xtrabackup version 2.4.26 based on MySQL server 5.7.35 Linux (x86_64) (revision id: 19de43b) //注意:my.cnf需要確認(rèn)配置文件內(nèi)有數(shù)據(jù)目錄的指定 ?[root@localhost ~]# cat /etc/my.cnf [mysqld] datadir = /usr/local/mysql/data
2.完整備份/恢復(fù)流程
完整備份
語法:innobackupex --user=root --password='口令' /備份目錄
//創(chuàng)建備份目錄: ?[root@localhost ~]# mkdir /xtrabackup/full -p
//創(chuàng)建數(shù)據(jù)庫、數(shù)據(jù)表,并插入數(shù)據(jù) mysql> create database company; mysql> use company; //創(chuàng)建一個測試表 mysql> \e CREATE TABLE company.employee5( id int primary key AUTO_INCREMENT not null, name varchar(30) not null, sex enum('male','female') default 'male' not null, hire_date date not null, post varchar(50) not null, job_description varchar(100), office int, dep_id int ) -> ; Query OK, 0 rows affected (0.01 sec) //插入數(shù)據(jù): mysql> \e insert into company.employee5(name,sex,hire_date,post,job_description,office,dep_id) values ('jack','male','20180202','instructor','teach',501,100), ('harry','male','20180202','hr',NULL,502,101), ('lili','female','20180206','sale','salecc',503,102), ('xiaoguo','male','20180205','sale','',503,102) -> ; Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0
//備份: ?[root@localhost ~]# innobackupex --user=root --password='JiannLt@123' /xtrabackup/full ?[root@localhost ~]# cd /xtrabackup/full/ ?[root@localhost full]# ls 2022-06-08_10-03-34 ?[root@localhost full]# du -sh * 26M 2022-06-08_10-03-34
完整備份的恢復(fù)
1.停止數(shù)據(jù)庫;
2.清理環(huán)境;
3.重演回滾-> 恢復(fù)數(shù)據(jù);
4.修改權(quán)限;
5.啟動數(shù)據(jù)庫
重演binlog語法:
innobackupex --apply-log /備份目錄/完整備份目錄(年月日時分秒)
恢復(fù)數(shù)據(jù)語法:innobackupex --copy-back /備份目錄/完整備份目錄(年月日時分秒)
//為了實(shí)驗(yàn)效果,首先將數(shù)據(jù)庫給刪掉,看看數(shù)據(jù)是否能恢復(fù)成功 ?[root@localhost ~]# mysql -uroot -p'JiannLt@123' mysql> drop database company; Query OK, 1 row affected (0.00 sec)
1、關(guān)閉數(shù)據(jù)庫:
?[root@localhost ~]# systemctl stop mysqld //注意:數(shù)據(jù)庫目錄必須為空,MySQL服務(wù)不能啟動 ?[root@localhost ~]# rm -rf /usr/local/mysql/data/ *
2、重演回滾:
?[root@localhost ~]# innobackupex --apply-log /xtrabackup/full/2019-08-20_11-47-49 …… InnoDB: Shutdown completed; log sequence number 2772008 230706 10:19:29 completed OK!
3、確認(rèn)數(shù)據(jù)庫目錄:
//恢復(fù)之前需要確認(rèn)配置文件內(nèi)有數(shù)據(jù)庫目錄指定,不然xtrabackup不知道恢復(fù)到哪里 ?[root@localhost ~]# cat /etc/my.cnf [mysqld] datadir = /usr/local/mysql/data
4、恢復(fù)數(shù)據(jù):
?[root@localhost ~]# innobackupex --copy-back /xtrabackup/full/2019-08-20_11-47-49 ……………… 230706 10:22:02 [01] Copying ./ibtmp1 to /usr/local/mysql/data/ibtmp1 230706 10:22:02 [01] ...done 230706 10:22:02 completed OK!
5、修改權(quán)限:
?[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/ //啟動數(shù)據(jù)庫: ?[root@localhost ~]# systemctl start mysqld ?[root@localhost ~]# netstat -ntlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp6 0 0 :::3306 :::* LISTEN 3687/mysqld ?[root@localhost ~]# cd /usr/local/mysql/data/ //看一下data目錄下是否有文件,就能看出是否恢復(fù)成功了 ?[root@localhost data]# ls auto.cnf client-cert.pem ibdata1 mysql private_key.pem sys binary-mysql.pid client-key.pem ib_logfile0 mysql.sock public_key.pem xtrabackup_binlog_pos_innodb ca-key.pem company ib_logfile1 mysql.sock.lock server-cert.pem xtrabackup_info ca.pem ib_buffer_pool ibtmp1 performance_schema server-key.pem xtrabackup_master_key_id //登錄數(shù)據(jù)庫,查看數(shù)據(jù) ?[root@localhost data]# mysql -uroot -p'JiannLt@123' mysql> select id,name from company.employee5; +----+---------+ | id | name | +----+---------+ | 1 | jack | | 2 | harry | | 3 | lili | | 4 | xiaoguo | +----+---------+ 4 rows in set (0.00 sec)
3.增量備份流程
原理:每次備份上一次備份到現(xiàn)在產(chǎn)生的新數(shù)據(jù)
在數(shù)據(jù)庫上面創(chuàng)建一個測試的庫和表,并往里面寫入數(shù)據(jù)
mysql> create database testdb; Query OK, 1 row affected (0.01 sec) mysql> create table testdb.t1(id int); Query OK, 0 rows affected (0.01 sec) mysql> insert into testdb.t1 values(1); Query OK, 1 row affected (0.01 sec) mysql> select * from testdb.t1; +------+ | id | +------+ | 1 | +------+ 1 row in set (0.00 sec)
增量備份流程(重要)
1、進(jìn)行完整備份
完整備份語法:innobackupex --user=root --password='口令' /備份目錄/increment/
2、添加數(shù)據(jù)以后增量備份
增量備份語法:innobackupex --user=root --password='口令' --incremental /備份目錄/increment/ --incremental-basedir=/xtrabackup/increment/上一備份目錄(基于前一天)
–incremental 后面跟的是本次備份文件的存放路徑
–incremental-basedir 后面跟的是基于哪次備份做數(shù)據(jù)備份?接的是上一次備份成功的目錄
1.完整備份:周一
?[root@localhost ~]# rm -rf /xtrabackup/ * ?[root@localhost ~]# mkdir /xtrabackup/increment //完整備份 ?[root@localhost ~]# innobackupex --user=root --password='JiannLt@123' /xtrabackup/increment ?[root@localhost ~]# cd /xtrabackup/increment ?[root@localhost increment]# ls 2019-08-20_14-51-35 ?[root@localhost increment]# cd 2019-08-20_14-51-35/ ?[root@localhost 2019-08-20_14-51-35]# ls backup-my.cnf ib_buffer_pool mysql sys testdb xtrabackup_info company ibdata1 performance_schema test xtrabackup_checkpoints xtrabackup_logfile
2.增量備份:周二~周三
//模擬周二的生產(chǎn)數(shù)據(jù) mysql -uroot -p'JiannLt@123' -e 'insert into testdb.t1 values(2);' //查詢數(shù)據(jù) mysql -uroot -p'JiannLt@123' -e 'select * from testdb.t1;' +------+ | id | +------+ | 1 | | 2 | +------+ //周二增量備份 [root@localhost ~]# innobackupex --user=root --password='JiannLt@123' --incremental /xtrabackup/increment/ --incremental-basedir=/xtrabackup/increment/2019-08-20_14-51-35/ //--incremental-basedir:基于哪個增量 [root@localhost ~]# cd /xtrabackup/increment/ [root@localhost increment ]# ls 2019-08-20_14-51-35 2019-08-20_15-04-29 //相當(dāng)于周二的增量備份 //模擬周三的生產(chǎn)數(shù)據(jù) mysql -uroot -p'JiannLt@123' -e 'insert into testdb.t1 values(3);' //查詢數(shù)據(jù) mysql -uroot -p'JiannLt@123' -e 'select * from testdb.t1;' +------+ | id | +------+ | 1 | | 2 | | 3 | +------+ //周三增量備份 [root@localhost ~]# innobackupex --user=root --password='JiannLt@123' --incremental /xtrabackup/increment --incremental-basedir=/xtrabackup/increment/2019-08-20_15-04-29/ //基于前一天的備份為目錄 //查看一下備份目錄: [root@localhost ~]# ls /xtrabackup/increment/ 2019-08-20_14-51-35 2019-08-20_15-04-29 2019-08-20_15-10-56 全備周一 增量周二 增量周三 //后面周四到周日都是這種方式來增量備份
增量備份恢復(fù)流程(重要)
1.停止數(shù)據(jù)庫;
2.清理環(huán)境;
3.依次重演回滾redo log-> 恢復(fù)數(shù)據(jù);
4.修改權(quán)限;
5.啟動數(shù)據(jù)庫
重演回滾語法:
innobackupex --apply-log --redo-only /xtrabackup/increment/全量目錄
innobackupex --apply-log --redo-only /xtrabackup/increment/全量目錄 --incremental-dir=/xtrabackup/increment/增量1目錄
innobackupex --apply-log --redo-only /xtrabackup/全量目錄 --incremental-dir=/xtrabackup/increment/增量2目錄
–apply-log --redo-only參數(shù)的作用是
僅應(yīng)用指定的增量備份redo log到全量備份上,不做數(shù)據(jù)恢復(fù)。
通俗地說,就相當(dāng)于將增量備份的修改應(yīng)用到全量備份上,產(chǎn)生一個新的全量備份。
恢復(fù)數(shù)據(jù)語法:
innobackupex --copy-back /xtrabackup/increment/全量目錄
//為了實(shí)驗(yàn)效果,先將testdb庫給刪掉 [root@localhost increment]# mysql -uroot -p'JiannLt@123' -e 'drop database testdb;' [root@localhost increment]# mysql -uroot -p'JiannLt@123' -e 'show databases;' +--------------------+ | Database | +--------------------+ | information_schema | | company | | mysql | | performance_schema | | sys | +--------------------+ //停止服務(wù),并清理數(shù)據(jù)目錄 [root@localhost ~]# systemctl stop mysqld [root@localhost ~]# rm -rf /usr/local/mysql/data/ * //依次重演回滾redo log: [root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/increment/2019-08-20_14-51-35 //重演回滾全量備份目錄 [root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/increment/2019-08-20_14-51-35 --incremental-dir=/xtrabackup/increment/2019-08-20_15-04-29 // /xtrabackup/2019-08-20_14-51-35:全量目錄 // /xtrabackup/increment/2019-08-20_15-04-29:增量1目錄 [root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/increment/2019-08-20_14-51-35 --incremental-dir=/xtrabackup/increment/2019-08-20_15-10-56/ // /xtrabackup/2019-08-20_14-51-35:全量目錄 // /xtrabackup/increment/2019-08-20_15-10-56:增量2目錄 //恢復(fù)數(shù)據(jù): [root@localhost ~]# innobackupex --copy-back /xtrabackup/increment/2019-08-20_14-51-35/ /xtrabackup/2019-08-20_14-51-35/:全量目錄 //修改權(quán)限 [root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/ [root@localhost ~]# systemctl start mysqld //執(zhí)行sql語句看看庫和表是否恢復(fù)成功 [root@localhost ~]# mysql -uroot -p'JiannLt@123' -e 'select * from testdb.t1;' +------+ | id | +------+ | 1 | | 2 | | 3 | +------+
4.差異備份流程
差異備份流程(重要)
1、完整備份
語法:innobackupex --user=root --password='口令' /備份目錄/
2、增加數(shù)據(jù)后進(jìn)行差異備份
語法:innobackupex --user=root --password='口令' --incremental /備份目錄/ --incremental-basedir=/xtrabackup/第一次完全備份目錄
//清理備份的環(huán)境 [root@localhost ~]# rm -rf /xtrabackup/ * //登陸數(shù)據(jù)庫,準(zhǔn)備環(huán)境 mysql -uroot -p'JiannLt@123' mysql> delete from testdb.t1; mysql> insert into testdb.t1 values(1); //插入數(shù)據(jù)1,模擬周一 mysql> select * from testdb.t1; +------+ | id | +------+ | 1 | +------+ mysql> \q
1.完整備份:周一
[root@localhost ~]# innobackupex --user=root --password='JiannLt@123' /xtrabackup
2.差異備份:周二~周三
[root@localhost ~]# innobackupex --user=root --password=888 --incremental /xtrabackup --incremental-basedir=/xtrabackup/2019-08-20_15-42-02/ //完全備份目錄(周一)
3.模擬周二,插入數(shù)據(jù)2:
[root@localhost ~]# mysql -uroot -p'JiannLt@123' -e 'insert into testdb.t1 values(2);' //插入數(shù)據(jù)2,模擬周二 [root@localhost xtrabackup]# mysql -uroot -p'JiannLt@123' -e 'select * from testdb.t1;' +------+ | id | +------+ | 1 | | 2 | +------+ //差異備份周二的數(shù)據(jù) [root@localhost ~]# innobackupex --user=root --password='JiannLt@123' --incremental /xtrabackup --incremental-basedir=/xtrabackup/2019-08-20_15-42-02/ //備份目錄基于周一的完整備份
4.再次插入周三的數(shù)據(jù)
[root@localhost ~]# mysql -uroot -p'JiannLt@123' -e 'insert into testdb.t1 values(3);' //插入數(shù)據(jù)3,模擬周三 [root@localhost xtrabackup]# mysql -uroot -p'JiannLt@123' -e 'select * from testdb.t1;' +------+ | id | +------+ | 1 | | 2 | | 3 | +------+ //再次差異備份 [root@localhost ~]# innobackupex --user=root --password='JiannLt@123' --incremental /xtrabackup --incremental-basedir=/xtrabackup/2019-08-20_15-42-02/ //還是基于周一的完整備份
5.延申到周四的數(shù)據(jù)
[root@localhost ~]# mysql -uroot -p'JiannLt@123' -e 'insert into testdb.t1 values(4);' //插入數(shù)據(jù)4,模擬周四 [root@localhost xtrabackup]# mysql -uroot -p'JiannLt@123' -e 'select * from testdb.t1;' +------+ | id | +------+ | 1 | | 2 | | 3 | | 4 | +------+ //差異備份周四 [root@localhost ~]# innobackupex --user=root --password='JiannLt@123' --incremental /xtrabackup --incremental-basedir=/xtrabackup/2019-08-20_15-42-02/ //還是基于周一的備份
6.查看一下備份目錄
[root@localhost ~]# ls /xtrabackup/ 2019-08-20_15-42-02 2019-08-21_15-46-53 2019-08-22_15-51-15 2019-08-23_15-53-28 周一完整備份 周二差異備份 周三差異備份 周四差異備份
差異備份恢復(fù)流程(重要)
1.停止數(shù)據(jù)庫;
2.清理環(huán)境;
3.重演回滾redo log(周一,某次差異)-> 恢復(fù)數(shù)據(jù);
4.修改權(quán)限;
5.啟動數(shù)據(jù)庫
差異恢復(fù)重演回滾redo log恢復(fù)數(shù)據(jù)(重要)
1、恢復(fù)全量的redo log
語法:innobackupex --apply-log --redo-only /xtrabackup/全量目錄
2、恢復(fù)差異的redo log(任意差異點(diǎn),選擇任意差異點(diǎn)恢復(fù),那數(shù)據(jù)也就會恢復(fù)到當(dāng)天的)
語法:innobackupex --apply-log --redo-only /xtrabackup/全量目錄 --incremental-dir=/xtrabackup/某個差異備份目錄
3、恢復(fù)數(shù)據(jù)
語法:innobackupex --copy-back /xtrabackup/完全備份目錄
//為了實(shí)驗(yàn)效果,將testdb庫給刪除掉,看看通過差異恢復(fù)的方式數(shù)據(jù)能否恢復(fù)成功 [root@localhost ~]# mysql -uroot -p'JiannLt@123' -e 'drop database testdb;' //停止數(shù)據(jù)庫,刪除數(shù)據(jù)目錄下所有的文件/目錄 [root@localhost ~]# systemctl stop mysqld [root@localhost ~]# rm -rf /usr/local/mysql/data/ *
1.恢復(fù)全量的redo log
[root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/2019-08-20_15-42-02/
2.恢復(fù)差異的redo log
//這里我們恢復(fù)周三的差異備份 [root@localhost ~]# innobackupex --apply-log --redo-only /xtrabackup/2019-08-20_15-42-02/ --incremental-dir=/xtrabackup/2019-08-22_15-51-15/
3.恢復(fù)數(shù)據(jù)
[root@localhost ~]# innobackupex --copy-back /xtrabackup/2019-08-20_15-42-02/ //修改權(quán)限: [root@localhost ~]# chown -R mysql:mysql /usr/local/mysql/ [root@localhost ~]# systemctl start mysqld //查看數(shù)據(jù)是否恢復(fù)成功(只有123;因?yàn)槲覀兓謴?fù)的是周三的差異備份。) [root@localhost xtrabackup]# mysql -uroot -p'JiannLt@123' -e 'select * from testdb.t1' +------+ | id | +------+ | 1 | | 2 | | 3 | +------+
5.物理備份總結(jié)
優(yōu)先使用:完整,差異
完整備份
完整備份語法:innobackupex --user=root --password='口令' /備份目錄
完全備份恢復(fù)流程
1.停止數(shù)據(jù)庫;
2.清理環(huán)境;
3.重演回滾-> 恢復(fù)數(shù)據(jù);
4.修改權(quán)限;
5.啟動數(shù)據(jù)庫
重演回滾語法:innobackupex --apply-log /備份目錄/完整備份目錄(年月日時分秒)
恢復(fù)數(shù)據(jù)語法:innobackupex --copy-back /備份目錄/完整備份目錄(年月日時分秒)
增量備份流程
1.進(jìn)行完整備份;
完整備份語法:innobackupex --user=root --password='口令' /備份目錄
2.添加數(shù)據(jù)以后增量備份:
增量備份語法:innobackupex --user=root --password='口令' --incremental /備份目錄/ --incremental-basedir=/xtrabackup/上一備份目錄
增量恢復(fù)流程
1.停止數(shù)據(jù)庫;2. 清理環(huán)境;3. 增量重演回滾redolog->恢復(fù)數(shù)據(jù);4. 修改權(quán)限;5. 啟動數(shù)據(jù)庫
增量重演回滾語法:
a.innobackupex --apply-log --redo-only /xtrabackup/全量目錄
b.innobackupex --apply-log --redo-only /xtrabackup/全量目錄 --incremental-dir=/xtrabackup/增量1目錄
c.innobackupex --apply-log --redo-only /xtrabackup/全量目錄 --incremental-dir=/xtrabackup/增量2目錄
恢復(fù)數(shù)據(jù):innobackupex --copy-back /xtrabackup/全量目錄
差異備份流程(重要)
1.完整備份
完整備份語法:innobackupex --user=root --password='口令' /備份目錄
2.增加數(shù)據(jù)后進(jìn)行差異備份:
差異備份語法:innobackupex --user=root --password='口令' --incremental /備份目錄 --incremental-basedir=/xtrabackup/第一次完全備份目錄
差異恢復(fù)流程
1.停止數(shù)據(jù)庫;2.清理環(huán)境;3.差異重演回滾redo log->恢復(fù)數(shù)據(jù);4.修改權(quán)限;5.啟動數(shù)據(jù)庫
差異重演回滾語法:
a.恢復(fù)全量的redo loginnobackupex --apply-log --redo-only /xtrabackup/完全備份目錄
b.恢復(fù)差異的redo log(任意差異點(diǎn))innobackupex --apply-log --redo-only /xtrabackup/完全備份目錄 --incremental-dir=/xtrabacku/某個差異備份目錄
恢復(fù)數(shù)據(jù)語法:innobackupex --copy-back /xtrabackup/完全備份目錄
到此這篇關(guān)于MySQL數(shù)據(jù)xtrabackup物理備份方法的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)xtrabackup物理備份內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用xtrabackup實(shí)現(xiàn)mysql備份
- MySQL使用xtrabackup進(jìn)行備份還原操作
- xtrabackup備份還原MySQL數(shù)據(jù)庫
- MySQL使用Xtrabackup備份流程詳解
- 詳解如何利用Xtrabackup進(jìn)行mysql增量備份
- MySQL xtrabackup 物理備份原理解析
- MySQL之xtrabackup備份恢復(fù)的實(shí)現(xiàn)
- Mysql中xtrabackup備份的實(shí)現(xiàn)
- mysql使用物理備份安裝xtrabackup的詳細(xì)過程
- mysql中xtrabackup全量備份/增量備份及恢復(fù)
相關(guān)文章
MySQL中時區(qū)參數(shù)time_zone解讀
MySQL時區(qū)參數(shù)time_zone用于控制系統(tǒng)函數(shù)和字段的DEFAULT CURRENT_TIMESTAMP屬性,修改時區(qū)可能會影響timestamp類型的值,建議在MySQL配置文件中設(shè)置時區(qū)參數(shù),以確保高并發(fā)時的性能,在業(yè)務(wù)中盡量使用datetime類型來存儲時間,因?yàn)槠鋾r間上限比TIMESTAMP更遠(yuǎn)2025-01-01C#列出局域網(wǎng)中可用SQL Server服務(wù)器
SQLDMO(SQL Distributed Management Objects,SQL分布式管理對象)封裝了Microsoft SQL Server數(shù)據(jù)庫中的對象。SQLDMO是Microsoft SQL Server中企業(yè)管理器所使用的應(yīng)用程序接口,所以它可以執(zhí)行很多功能,其中當(dāng)然也包括對數(shù)據(jù)庫的備份和恢復(fù)。2008-04-04防止服務(wù)器宕機(jī)時MySQL數(shù)據(jù)丟失的幾種方案
這篇文章主要介紹了防止服務(wù)器宕機(jī)時MySQL數(shù)據(jù)丟失的幾種方案,結(jié)合實(shí)踐介紹了Replication和Monitor以及Failover這三個項(xiàng)目的應(yīng)用,需要的朋友可以參考下2015-06-06