最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

刪庫跑路?使用xtraback備份MySQL數據庫的方法

 更新時間:2018年10月25日 11:57:00   作者:輕松學習Linux  
mysqldump備份方式是采用邏輯備份,最大的缺陷就是備份和恢復的速度都慢,這時候就需要一種很好用又高效的工具,xtraback 就是其中的一款,號稱免費版的innodb hotbackup。接下來通過本文給大介紹使用xtraback備份MySQL數據庫的方法,感興趣的朋友一起看看吧

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

這時候就需要一種很好用又高效的工具,xtraback 就是其中的一款,號稱免費版的innodb hotbackup

xtraback特點如下:

  • 備份過程快速,可靠
  • 備份過程不會打斷正在執(zhí)行的事務
  • 能夠基于壓縮等功能節(jié)約磁盤空間和流量
  • 自動實現備份檢驗
  • 還原速度快

二、安裝xtraback 1)下載xtraback

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)解壓

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

3)進入解壓目錄復制bin下的所有程序到/usr/bin下即可

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

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

4)安裝相關的插件

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并安裝

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

三、備份

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

創(chuàng)建備份目錄

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

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

插入數據后我們進行完全備份 如下:

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

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

出現以下提示證明備份成功

備份后的文件如下:

至此全備完全成功,然后向mysql某個庫插入幾條數據,然后進行增量備份

對完全備份的后數據庫更改進行二進制日志增量備份:

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

以上就是我們完全備份完成后的位置,那么如果我們現在插入數據的話,是從這個位置開始的,從這個位置開始的我們稱為增量備份,現在我們在tb1表中插入數據如下:

增量備份二進制文件:

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

備份完成后,我們模擬數據庫損壞,誤刪操作,如下

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

恢復數據庫

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

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

出現以下提示證明還原成功

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

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

重啟mysql服務查看是否還原成功

以上看出完全備份已經還原成功,因為我們在完全備份的時候插入了3行數據,那么接下來我們還原增量備份如下:

為了防止還原時產生大量的二進制日志,在還原時可臨時關閉二進制日志后再還原:

隨后我們驗證是否還原成功!

此時我們已經全部恢復成功,以上通過binlog+xtrabackup工具來實現的備份,是不是感覺有點小麻煩。如感覺到麻煩請看-以下方案二。

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

測試環(huán)境準備

創(chuàng)建一個測試數據庫,并創(chuàng)建一張表輸入幾行數據

以上操作解釋:

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

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

[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) 

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

這時候我們再次插入數據,進行一次增量備份

備份第一次增量如下:

[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/ 

出現以下表示備份成功!

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

接下來在xx表中再次插入數據,進行第二次增量備份

第二次增量備份如下:

[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/ 

出現以下提示證明備份成功

xtrabacup進行增量恢復

為了實現效果我把xx表刪了

開始恢復完全備份如下:

[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 

二、恢復第一次增量(tom3)

[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/ 

三、恢復第二次增量

[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 

恢復整個庫

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

停止mysql數據庫-開始rsync數據文件

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

授予mysql訪問權限

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

啟動mysql服務查看還原是否成功

總結

以上所述是小編給大家介紹的刪庫跑路?使用xtraback備份MySQL數據庫的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • mysql 添加索引 mysql 如何創(chuàng)建索引

    mysql 添加索引 mysql 如何創(chuàng)建索引

    本文將介紹mysql 如何創(chuàng)建索引,需要的朋友可以參考下
    2012-11-11
  • mysql8.0找不到my.ini配置文件的問題及解決

    mysql8.0找不到my.ini配置文件的問題及解決

    這篇文章主要介紹了mysql8.0找不到my.ini配置文件的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 安裝Mysql找不到Bin文件的問題解決

    安裝Mysql找不到Bin文件的問題解決

    在解壓MySQL壓縮包后,有時會發(fā)現沒有bin目錄,本文主要介紹了安裝Mysql找不到Bin文件的問題解決,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • 學習mysql?如何行轉列與列傳行

    學習mysql?如何行轉列與列傳行

    這篇文章主要介紹了mysql行轉列與列傳行的使用方法,幫助大家更好的理解和學習MySQL的使用,語句不難,但有一定的知識參考價值,需要的朋友可以參考一下,希望給你的學習帶來幫助
    2022-02-02
  • Linux系統(tǒng)下Mysql使用簡單教程(一)

    Linux系統(tǒng)下Mysql使用簡單教程(一)

    這篇文章主要介紹了Linux系統(tǒng)下Mysql使用簡單教程(一)的相關資料,需要的朋友可以參考下
    2016-05-05
  • SQL常用的四個排序函數梳理

    SQL常用的四個排序函數梳理

    這篇文章主要介紹了SQL常用的四個排序函數梳理,四個排序函數分別是SQL?Server排序中經常用到的ROW_NUMBER()、RANK()、DENSE_RANK()、NTILE()、下文簡單分享,需要的小伙伴可以參考一下
    2022-07-07
  • Windows下使用Cygwin編譯MySQL客戶端

    Windows下使用Cygwin編譯MySQL客戶端

    這篇文章主要介紹了Windows下使用Cygwin編譯MySQL客戶端,本文詳細的講解了編譯過程,需要的朋友可以參考下
    2015-04-04
  • innodb_index_stats導入備份數據時報錯表主鍵沖突的解決方法

    innodb_index_stats導入備份數據時報錯表主鍵沖突的解決方法

    下面小編就為大家?guī)硪黄猧nnodb_index_stats導入備份數據時報錯表主鍵沖突的解決方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • MySQL分區(qū)表的最佳實踐指南

    MySQL分區(qū)表的最佳實踐指南

    這篇文章主要給大家介紹了關于MySQL分區(qū)表的最佳實踐指南,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MySQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-05-05
  • 清理MySQL Binlog二進制日志的三種方式

    清理MySQL Binlog二進制日志的三種方式

    Binlog日志非常重要,但是占用的磁盤空間也很大,我們也需要定期的去清理二進制日志,在MySQL數據庫中,提供了自動清理Binlog日志的參數,本文給大家介紹了清理MySQL Binlog二進制日志的三種方式,文中通過代碼講解非常詳細,需要的朋友可以參考下
    2024-01-01

最新評論

柳河县| 凭祥市| 福泉市| 六枝特区| 长岛县| 琼结县| 盐源县| 昆明市| 龙江县| 喀什市| 横山县| 内黄县| 吕梁市| 兴安县| 中宁县| 禄劝| 潜江市| 张家川| 台东县| 天等县| 雷山县| 衡南县| 察雅县| 卓资县| 桦川县| 准格尔旗| 长子县| 秀山| 出国| 易门县| 石河子市| 日喀则市| 庆阳市| 临桂县| 新疆| 鄯善县| 黑龙江省| 淳安县| 中宁县| 甘南县| 桓台县|