自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

刪庫(kù)跑路?這篇文章教你如何使用xtraback備份MySQL數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù) MySQL
mysqldump備份方式是采用邏輯備份。最大的缺陷就是備份和恢復(fù)的速度都慢,對(duì)于一個(gè)50G的數(shù)據(jù)庫(kù)而言,這個(gè)速度還是可以接受的,但是如果數(shù)據(jù)庫(kù)非常大,那在使用mysqdump備份就不是太合適了。

 刪庫(kù)跑路?這篇文章教你如何使用xtraback備份MySQL數(shù)據(jù)庫(kù)

一、mysqldump備份方式是采用邏輯備份。***的缺陷就是備份和恢復(fù)的速度都慢,對(duì)于一個(gè)50G的數(shù)據(jù)庫(kù)而言,這個(gè)速度還是可以接受的,但是如果數(shù)據(jù)庫(kù)非常大,那在使用mysqdump備份就不是太合適了。。

這時(shí)候就需要一種很好用又高效的工具,xtraback 就是其中的一款,號(hào)稱免費(fèi)版的innodb hotbackup

xtraback特點(diǎn)如下:

  1.  備份過(guò)程快速,可靠

  2.  備份過(guò)程不會(huì)打斷正在執(zhí)行的事務(wù)

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

  4.  自動(dòng)實(shí)現(xiàn)備份檢驗(yàn)

  5.  還原速度快

二、安裝xtraback

1)下載xtraback 

  1. wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz  

2)解壓 

  1. [root@master ~]# tar zxf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz  

3)進(jìn)入解壓目錄復(fù)制bin下的所有程序到/usr/bin下即可 

  1. [root@master ~]# cd percona-xtrabackup-2.4.4-Linux-x86_64/  
  2. [root@master percona-xtrabackup-2.4.4-Linux-x86_64]# cp bin/* /usr/bin/ 

xtraback是用于熱備份innodb,xtradb表中數(shù)據(jù)的工具,支持在線熱備份,可以在不加鎖的情況下備份innodb數(shù)據(jù)表,不過(guò)此工具不能操作myisam引擎表

4)安裝相關(guān)的插件 

  1. yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey.x86_64 perl-Digest-MD5 –y 

5)下載percona-toolkit并安裝 

  1. wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm  
  2. [root@master ~]# rpm -ivh percona-toolkit-2.2.19-1.noarch.rpm  
  3. warning: percona-toolkit-2.2.19-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY  
  4. Preparing... ################################# [100%]  
  5. Updating / installing...  
  6.  1:percona-toolkit-2.2.19-1 ################################# [100%] 

三、備份

方案一:xtrabackup完全備份+binlog增量備份 (需要開啟bin-log日志)

創(chuàng)建備份目錄 

  1. [root@master ~]# mkdir -p /opt/mysqlbackup/{full,inc} 

首先我們創(chuàng)一個(gè)test庫(kù),在test庫(kù)中創(chuàng)建一個(gè)tb1的表,在tb1表中插入三行數(shù)據(jù),如下:

插入數(shù)據(jù)后我們進(jìn)行完全備份 如下: 

  1. [root@master ~]# innobackupex --user=root --password=pwd123 /opt/mysqlbackup/full/ 

以上完全備份路徑為我們剛剛創(chuàng)建的mysqlbackup目錄下。

出現(xiàn)以下提示證明備份成功

備份后的文件如下:

至此全備完全成功,然后向mysql某個(gè)庫(kù)插入幾條數(shù)據(jù),然后進(jìn)行增量備份

對(duì)完全備份的后數(shù)據(jù)庫(kù)更改進(jìn)行二進(jìn)制日志增量備份:

查看完全備份時(shí)binlog日志位置(position):

以上就是我們完全備份完成后的位置,那么如果我們現(xiàn)在插入數(shù)據(jù)的話,是從這個(gè)位置開始的,從這個(gè)位置開始的我們稱為增量備份,現(xiàn)在我們?cè)趖b1表中插入數(shù)據(jù)如下:

增量備份二進(jìn)制文件: 

  1. [root@master ~]# mysqlbinlog --start-position=1279 /usr/local/mysql/data/mysql-bin.000001 > /opt/mysqlbackup/inc/`date +%F`.sql 

備份完成后,我們模擬數(shù)據(jù)庫(kù)損壞,誤刪操作,如下 

  1. [root@master ~]# rm -rf /usr/local/mysql/data/*  

恢復(fù)數(shù)據(jù)庫(kù)

首先恢復(fù)我們的完全備份,也就是tom1/2/3的數(shù)據(jù) 如下: 

  1. [root@master ~]#innobackupex --copy-back /opt/mysqlbackup/full/2017-11-21_11-47-42/ 

出現(xiàn)以下提示證明還原成功

當(dāng)數(shù)據(jù)恢復(fù)至DATADIR目錄以后,還需要確保所有數(shù)據(jù)文件的屬主和屬組均為正確的用戶,如mysql,否則,在啟動(dòng)mysqld之前還需要事先修改數(shù)據(jù)文件的屬主和屬組。如: 

  1. # chown -R mysql:mysql /usr/local/mysql/data/ 

重啟mysql服務(wù)查看是否還原成功

以上看出完全備份已經(jīng)還原成功,因?yàn)槲覀冊(cè)谕耆珎浞莸臅r(shí)候插入了3行數(shù)據(jù),那么接下來(lái)我們還原增量備份如下:

為了防止還原時(shí)產(chǎn)生大量的二進(jìn)制日志,在還原時(shí)可臨時(shí)關(guān)閉二進(jìn)制日志后再還原:

隨后我們驗(yàn)證是否還原成功!

此時(shí)我們已經(jīng)全部恢復(fù)成功,以上通過(guò)binlog+xtrabackup工具來(lái)實(shí)現(xiàn)的備份,是不是感覺有點(diǎn)小麻煩。如感覺到麻煩請(qǐng)看-以下方案二。

二、xtrabackup完全備份+xtrabacup增量備份

測(cè)試環(huán)境準(zhǔn)備

創(chuàng)建一個(gè)測(cè)試數(shù)據(jù)庫(kù),并創(chuàng)建一張表輸入幾行數(shù)據(jù)

以上操作解釋:

創(chuàng)建了一個(gè)test庫(kù),在test庫(kù)中創(chuàng)建了xx表,在xx表中插入了tom1和tom2的數(shù)據(jù)。

接下來(lái)執(zhí)行完全備份如下: 

  1. [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --user=root --password='pwd123' --popt=3306 --backup --target-dir=/opt/mysqlbackup/full/full_incre_$(date +%Y%m%d_%H%M%S)  

以上黑色部分是存放位置。出現(xiàn)以下證明備份成功

這時(shí)候我們?cè)俅尾迦霐?shù)據(jù),進(jìn)行一次增量備份

備份***次增量如下: 

  1. [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --user=root --password='pwd123' --popt=3306 --backup --target-dir=/opt/mysqlbackup/inc/inc_incre_$(date +%Y%m%d_%H%M%S) --incremental-basedir=/opt/mysqlbackup/full/full_incre_20171121_123051/ 

出現(xiàn)以下表示備份成功!

以上備份路徑為:/opt/mysqlbackup/inc/我們可以查看備份的文件

接下來(lái)在xx表中再次插入數(shù)據(jù),進(jìn)行第二次增量備份

第二次增量備份如下:

  1. [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --user=root --password='pwd123' --popt=3306 --backup --target-dir=/opt/mysqlbackup/inc/inc_incre_$(date +%Y%m%d_%H%M%S) --incremental-basedir=/opt/mysqlbackup/inc/inc_incre_20171121_124604/ 

出現(xiàn)以下提示證明備份成功

xtrabacup進(jìn)行增量恢復(fù)

為了實(shí)現(xiàn)效果我把xx表刪了

開始恢復(fù)完全備份如下:

  1. [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --prepare --user=root --password="pwd123" --apply-log-only --target-dir=/opt/mysqlbackup/full/full_incre_20171121_123051 

 

二、恢復(fù)***次增量(tom3)

  1. [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --prepare --user=root --password="pwd123" --apply-log-only --target-dir=/opt/mysqlbackup/full/full_incre_20171121_123051 --incremental-dir=/opt/mysqlbackup/inc/inc_incre_20171121_124604/ 

三、恢復(fù)第二次增量

  1. [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --prepare --user=root --password="pwd123" --apply-log-only --target-dir=/opt/mysqlbackup/full/full_incre_20171121_123051 --incremental-dir=/opt/mysqlbackup/inc/inc_incre_20171121_125202 

恢復(fù)整個(gè)庫(kù)

  1. [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --prepare --user=root --password="pwd123" --target-dir=/opt/mysqlbackup/full/full_incre_20171121_123051 

停止mysql數(shù)據(jù)庫(kù)-開始rsync數(shù)據(jù)文件

  1. [root@master ~]# systemctl stop mysqld  
  2. [root@master ~]# cd /opt/mysqlbackup/full/full_incre_20171121_123051/  
  3. [root@master full_incre_20171121_123051]# rsync -rvt --exclude 'xtrabackup_checkpoints' --exclude 'xtrabackup_logfile' ./ /usr/local/mysql/data/ 

授予mysql訪問權(quán)限 

  1. [root@master ~]# chown -R mysql:mysql /usr/local/mysql/data/ 

啟動(dòng)mysql服務(wù)查看還原是否成功

1024程序員節(jié)日Happy

希望對(duì)您有所幫助,再見~    

責(zé)任編輯:龐桂玉 來(lái)源: 今日頭條
相關(guān)推薦

2018-02-08 18:16:39

數(shù)據(jù)庫(kù)MySQL鎖定機(jī)制

2025-04-17 03:30:00

MySQL數(shù)據(jù)備份

2019-08-20 14:20:19

MySQL數(shù)據(jù)恢復(fù)數(shù)據(jù)庫(kù)

2020-08-05 11:50:47

刪庫(kù)MySQL數(shù)據(jù)庫(kù)

2018-09-28 09:32:57

2020-08-25 17:30:32

MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)

2023-12-24 22:42:57

數(shù)據(jù)庫(kù)分片中間件

2020-10-21 08:59:50

刪庫(kù)程序員虛擬機(jī)

2024-03-29 08:08:25

2019-10-31 09:48:53

MySQL數(shù)據(jù)庫(kù)事務(wù)

2011-03-24 14:59:42

2011-03-04 14:39:03

MySQL數(shù)據(jù)庫(kù)mysqldump

2018-06-26 13:30:32

數(shù)據(jù)庫(kù)MySQL損壞恢復(fù)

2020-09-18 10:18:08

MySQL數(shù)據(jù)插入數(shù)據(jù)庫(kù)

2017-09-11 10:09:59

刪庫(kù)DBA淘汰

2009-03-26 11:42:36

定時(shí)備份Oracle

2021-12-30 11:39:27

MySQL 刪庫(kù)不跑路

2023-12-11 08:32:58

數(shù)據(jù)庫(kù)DruidDBA

2020-03-03 17:28:39

CIO刪庫(kù)微盟

2020-10-19 13:01:31

刪庫(kù)程序員思科
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)