xtrabackup備份與恢復

xtrabackup

XtraBackup(PXB) 工具是 Percona 公司用 perl 語言開發的一個用於 MySQL 數據庫物理熱備的備份工具,支持 MySQl(Oracle)、Percona Server 和 MariaDB,並且全部開源,真可謂是業界良心。阿里的 RDS MySQL 物理備份就是基於這個工具做的。由於是採取物理拷貝的方式來做的備份,所以速度非常快,幾十G數據幾分鐘就搞定了,而它巧妙的利用了mysql 特性做到了在線熱備份,不用像以前做物理備份那樣必須關閉數據庫才行,直接在線就能完成整庫或者是部分庫的全量備份和增量備份。

安裝

  1. 安裝倉庫Install the Percona repository
    yum install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm

  2. 測試一下倉庫裏是否含有最新版的資源
    yum list | grep percona

  3. 安裝packages
    yum install percona-xtrabackup-24

  4. 安裝報錯

    解決辦法yum update percona-release

數據備份1

  1. 全量備份
    innobackupex ----defaults-file=/etc/my.cnf --user=root --password=root /root/back

數據恢復

  1. 關閉數據庫服務
    service mysql stop

  2. 執行數據恢復命令*(注意my.cnf裏配置的datadir目錄必須是一個空目錄,因此在恢復數據之前,要先datadir到別的目錄,然後新建一個空目錄再執行恢復)
    innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /path/to/backup

  3. 給新建的目錄變更權限
    chown -R mysql. /app/mysql/data

  4. 啓動mysql服務
    service mysql start

數據備份2-流式備份

#!/bin/bash
defaults_file="/etc/my.cnf" # mysql配置文件位置

user=“root” #mysql賬號

password=“aaaaaa” #mysql密碼

backup_dir="/mnt/database_backup/dir/" #需要存檔的根目錄

name="$(date +"%Y%m%d")"

shell=‘innobackupex --defaults-file=‘defaultsfileuser=defaults_file' --user='user’ --password=‘passwordstream=tar/mnt/storagedatabase/tempsshroot@ip"gzip>password' --stream=tar /mnt/storage_database/temp | ssh root@要發送的ip "gzip -> 'backup_dir$name’.tar.gz"’

eval $shell

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章