中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

MySQL數據庫如何實現Percona全量增量備份與恢復

發布時間:2020-06-03 17:22:11 來源:網絡 閱讀:399 作者:三月 欄目:MySQL數據庫

本文主要給大家簡單講講MySQL數據庫如何實現Percona全量增量備份與恢復,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望MySQL數據庫如何實現Percona全量增量備份與恢復這篇文章可以給大家帶來一些實際幫助。

    Percona的innobackupex具有如下特點:

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

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

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

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

        (5)還原速度快。

    本文結合計劃任務和腳本,使用Percona的innobackupex命令實現如下備份策略:

        (1)每周一23點對數據庫做完全備份,腳本名稱為allbbsdbbak.sh。
        (2)每周的周二至周日23:30對數據庫做增量備份,腳本名稱為newbbsdbdata.sh。

二、命令介紹:

    1、原理:備份開始時首先會開啟一個后臺檢測進程,實時檢測mysql redo的變化,一旦發現有新的日志寫入,立刻將日志記入后臺日志文件xtraback_log中,之后復制InnoDB的數據文件(系統表空間文件ibdatax),復制結束后執行flush tables with readlock,然后復制.fri、.MYI、.MYD等文件,最后執行unlock tables并停止xtrabackup_log.

    2、依賴軟件:

       使用percona軟件的innobackupex命令,需要安裝perl-DBD-mysql、perl-Digest-MD5、libev、percona-xtrabackup四個軟件包。

    3、命令格式:

        innobackupex命令的參數非常多,用于數據備份的常用參數格式如下(具體參數可參考幫助信息或者這篇文章:https://www.cnblogs.com/waynechou/p/xtrabackup_backup.html):

            # innobackupex [--user=NAME] [--password=WORD] [--port=PORT] [--no-timestamp] [--databases=LIST] /backupdir

                --user            備份使用的用戶名
                --password        備份用戶的密碼

                --port            如果是3306可以不用寫

                --no-timestamp    不用日期命名備份文件存儲的子目錄名
                --database        "庫名"-單個庫,"庫1 庫2"-多個庫,"庫.表"-單個表
    4、恢復:
        (1)rm -rf /var/lib/mysql
            mkdir /var/lib/mysql
        (2)恢復日志    
            # innobackupex --user root --password 123456 --databases "mysql sys performance_schema db1" --apply-log /allback
        (3)恢復數據
             # innobackupex --user root --password 123456 --databases "mysql sys performance_schema db1" --copy-back /allback
        (4)chown -R mysql:mysql /var/lib/mysql
        (5)重起數據庫服務
            systemctl restart mysqld
        (6)登錄恢復后的數據庫
            # mysql -uroot -p123456
    5、增量備份:
        #innobackupex --user root --password 123456 --databases="系統庫列表 儲存數據庫" --incremental 目錄名 --incremental-basedir=目錄名 --no-timestamp
            --incremental 目錄名             //增量備份的目錄,在備份的時候自動創建,如果提前創建好則需要該目錄下面為空
            --incremental-basedir=目錄名        //上一次備份的目錄
    6、增量恢復:
       #innobackupex --user root --password 123456 --databases="系統庫列表 儲存數據庫" --incremental-dir=目錄名 --no-timestamp
            --incremental-dir=目錄名        //用于增量恢復的備份數據目錄    
            --redo-only                //
        (1)rm -rf /var/lib/mysql
            mkdir /var/lib/mysql
        (2)恢復日志文件
            # innobackupex --user root --password 123456 --apply-log --redo-only /allback
            # innobackupex --user root --password 123456 --apply-log --redo-only /allback --incremental-dir=/new1
            # innobackupex --user root --password 123456 --apply-log --redo-only /allback --incremental-dir=/new2
        (3)恢復數據
            # innobackupex --user root --password 123456 --copy-back /allback
        (4)chown -R mysql:mysql /var/lib/mysql
        (5)重起數據庫服務
            systemctl restart mysqld
        (6)登錄恢復后的數據庫
            # mysql -uroot -p123456

            注意:(1)innobackupex恢復數據的時候要求/var/lib/mysql目錄下面為空的,因此一般要把三個系統庫(mysql、sys、perfomance_schema)都要備份上。
                  (2)/allbak目錄可以在備份的時候自動創建,如果提前創建好則需要該目錄下面為空
                  (3)此命令只能實現使用InnoDB引擎庫的增量備份,其他的存儲引擎的只能全量備份

三、備份腳本

    1、全量備份腳本

MySQL數據庫如何實現Percona全量增量備份與恢復

    2、增量備份腳本

MySQL數據庫如何實現Percona全量增量備份與恢復

 

MySQL數據庫如何實現Percona全量增量備份與恢復就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。

向AI問一下細節

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

AI

金堂县| 陆川县| 盐津县| 霍邱县| 错那县| 福安市| 江永县| 固始县| 张家港市| 淄博市| 凉城县| 九江县| 吉林市| 毕节市| 进贤县| 湄潭县| 丰台区| 含山县| 新龙县| 翁牛特旗| 康定县| 伊宁市| 大连市| 安岳县| 高平市| 广德县| 仙桃市| 萨嘎县| 泸州市| 阿坝县| 茂名市| 丰顺县| 丹阳市| 新巴尔虎左旗| 神池县| 报价| 阳朔县| 定南县| 淮安市| 基隆市| 桑植县|