日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL备份与恢复——基于Xtrabackup物理备份恢复

發(fā)布時(shí)間:2024/8/26 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL备份与恢复——基于Xtrabackup物理备份恢复 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、說明

Percona XtraBackup工具提供了一種在執(zhí)行MySQL數(shù)據(jù)熱備的方法。Percona XtraBackup是一個(gè)免費(fèi)的、在線的、開源的、完整的數(shù)據(jù)庫備份解決方案,適用于MySQL和MySQL?的所有版本的Percona服務(wù)器。

Percona XtraBackup在事務(wù)系統(tǒng)上執(zhí)行在線非阻塞、緊密壓縮、高度安全的完全備份,在備份時(shí)不會(huì)影響應(yīng)用正常使用。

Percona Xtrabackup是一款開源的備份工具,支持Innodb、Mysiam、Xtradb等存儲(chǔ)引擎數(shù)據(jù)的在線熱備。其特點(diǎn)是備份速度快,對(duì)innodb型業(yè)務(wù)數(shù)據(jù)幾乎無影響,對(duì)Myisam型數(shù)據(jù)會(huì)暫時(shí)性的鎖表,且恢復(fù)速度更快。通常,Percona Xtrabackup軟件部署有三種常見的方式,分別是rpm包、二進(jìn)制包以及源碼編譯的方式安裝。建議:使用二進(jìn)制包方式安裝,方便快捷。

1.1Percona Xtrabackup優(yōu)勢(shì)

  • 快速可靠的數(shù)據(jù)庫備份(如熱備份、增量備份、bacula備份等)

  • 份期間不間斷的事務(wù)處理

  • 節(jié)省磁盤空間和網(wǎng)絡(luò)帶寬與更好的壓縮

  • 自動(dòng)備份驗(yàn)證

  • 更高的正常運(yùn)行時(shí)間,因?yàn)楦斓幕謴?fù)時(shí)間

  • 于時(shí)間點(diǎn)恢復(fù)

  • 1.2Percona Xtrabackup軟件下載

    1.3Percona Xtrabackup軟件部署

    在Linux系統(tǒng)創(chuàng)建/Xtrabackup目錄,上傳介質(zhì)包percona-xtrabackup-2.3.10-Linux-x86_64.tar.gz

    1

    2

    3

    shell>?mkdir?–p?/Xtrabackup

    sftp>?cd?/Xtrabackup

    sftp>?put?percona-xtrabackup-2.3.10-Linux-x86_64.tar.gz

    解壓介質(zhì)包,并設(shè)置環(huán)境變量

    1

    2

    3

    4

    5

    6

    7

    8

    shell>?cd?/XtraBackup/

    shell>?tar?zxvf?percona-xtrabackup-2.3.10-Linux-x86_64.tar.gz

    shell>?pwd

    /XtraBackup/percona-xtrabackup-2.3.10-Linux-x86_64/bin

    shell>?vi?/etc/profile

    export?PATH=/mysql/app/bin:/XtraBackup/percona-xtrabackup-2.3.10-Linux-x86_64/bin:$PATH

    shell>?source?/etc/profile

    shell>?su?-

    至此,Percona Xtrabackup部署完成。

    二、常用的參數(shù)列表

    常用參數(shù)含義
    -u賬戶
    -p密碼
    -P端口
    -S套接字
    -H主機(jī)ip
    --defaults-file讀取參數(shù)文件位置
    --databases指定數(shù)據(jù)庫
    --no-timestamp不生成時(shí)間戳
    --slave-info獲取主庫端binlog位置
    --incremental創(chuàng)建增量備份

    --incremental-basedir

    指定full backup目錄

    --incremental-dir增量備份目錄
    --redo-only增量恢復(fù)使用
    --apply-log應(yīng)用日志
    --copy-back拷貝到相應(yīng)目錄
    --move-back移動(dòng)到相應(yīng)目錄

    三、備份恢復(fù)案例

    3.1 全局備份恢復(fù)

    3.1.1 全局備份

    1

    innobackupex?--defaults-file=/etc/my.cnf?--socket=/tmp/mysql.sock?-uroot?-pmysql?[--slave-info]??/xtrabak

    3.1.2 日志應(yīng)用

    1

    innobackupex?--apply-log?/Xtrabackup/backup/2018-07-28_15-11-12

    3.1.3全局恢復(fù)

    1

    innobackupex?--defaults-file=/etc/my.cnf?--copy-back?/Xtrabackup/backup/2018-07-28_15-11-12

    注:使用copy-back參數(shù) datadir目錄必須為空

    3.2單表/多表備份恢復(fù)

    3.2.1單表/多表備份

    1

    innobackupex?--defaults-file=/usr/my.cnf?--socket=/tmp/mysql.sock??-uroot?-proot?(-–slave-info)?--no-timestamp?--databases="yzw.a?[yzw.b]"?/xtrabak

    注:格式為 庫名.表名,可同時(shí)將不同庫下表進(jìn)行導(dǎo)出

    3.2.2日志應(yīng)用

    1

    innobackupex?--apply-log?/Xtrabackup/backup/2018-07-28_15-11-12

    3.2.3單表恢復(fù)

    1.恢復(fù)準(zhǔn)備,應(yīng)用日志從開始點(diǎn)到備份結(jié)束點(diǎn)

    1

    innobackupex?--apply-log?--export?/xtrabackup/backup

    2.生產(chǎn)端獲取建表語句并在目標(biāo)端創(chuàng)建

    3.目標(biāo)端卸載ibd文件

    1

    alter?table?test.a?discard?tablespace;

    4.目標(biāo)端拷貝備份文件至庫目錄

    1

    cp?a.cfg?a.exp?a.ibd?/var/lib/mysql/data/test/

    5.目標(biāo)端修改拷貝文件權(quán)限

    1

    chown?-R?mysql:mysql?/var/lib/mysql/data/test/

    6.目標(biāo)端加載表空間.ibd 文件

    1

    alter?table?test.a?import?tablespace;

    3.3增量備份恢復(fù)

    3.3.1增量備份

    第一次全量備份

    1

    innobackupex?--defaults-file=/etc/my.cnf?--socket=/tmp/mysql.sock?-uroot?-pmysql?--no-timestamp??/xtrabak/full

    第一次增量備份? ? 注:增量備份必須在全庫備庫基礎(chǔ)上

    1

    innobackupex?--defaults-file=/etc/my.cnf?-uroot?-pmysql?--socket=/tmp/mysql.sock?--no-timestamp?--incremental?/xtrabak/incre1?--incremental-basedir=/xtrabak/full

    第二次增量備份?

    1

    innobackupex?--defaults-file=/etc/my.cnf?-uroot?-pmysql?--socket=/tmp/mysql.sock?--no-timestamp?--incremental?/xtrabak/incre2?--incremental-basedir=/xtrabak/incre1

    注:此時(shí)incremental-basedir 指向第一次增量備份目錄

    3.3.2日志應(yīng)用

    第一次應(yīng)用備份文件

    1

    innobackupex?--apply-log?--redo-only?/xtrabak/full

    第二次應(yīng)用備份文件

    1

    innobackupex?--apply-log?--redo-only?/xtrabak/full?--incremental-dir=/xtrabak/incre1

    第三次應(yīng)用備份文件

    1

    innobackupex?--apply-log?/xtrabak/full?--incremental-dir=/xtrabak/incre2

    注:--redo-only參數(shù) 除最后一份增量文件的應(yīng)用時(shí)不需要添加該參數(shù)外,其余都要加上該參數(shù)!!!

    3.3.3全局恢復(fù)

    1

    innobackupex?--defaults-file=/etc/my.cnf?--move-back?/Xtrabackup/backup/2018-07-28_15-11-12

    注:--move-back參數(shù)將備份出來文件直接mv到datadir目錄,建議使用--copy-back

    3.4壓縮特性

    3.4.1壓縮備份

    1

    innobackupex?--defaults-file=/etc/my.cnf??--user=root?--password=mysql?--no-timestamp?--compress?--compress-threads=8??/xtrabak

    3.4.2解壓備份文件

    解壓decompress?

    1

    innobackupex?--decompress?/xtrabak

    注:需要提前安裝qpress命令,安裝方式如下

    1

    2

    3

    shell>?wget?

    shell>?tar?xvf?qpress-11-linux-x64.tar

    shell>?cp?qpress?/usr/bin

    3.4.3日志應(yīng)用

    1

    innobackupex?--apply-log?/xtrabak

    3.4.4全局恢復(fù)

    1

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

    3.5流特性

    3.5.1流備份

    1

    innobackupex?--defaults-file=/etc/my.cnf?--user=root?--password=mysql?--stream=tar?--no-timestamp??/xtrabak??1>/xtrabak/full.tar

    注:直接生成tar包

    3.5.2解壓備份文件

    1

    tar?-xvf?full.tar

    3.5.3日志應(yīng)用

    1

    innobackupex?--apply-log?/xtrabak

    3.5.4全局恢復(fù)

    1

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

    總結(jié)

    以上是生活随笔為你收集整理的MySQL备份与恢复——基于Xtrabackup物理备份恢复的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。