一. 安裝說明 安裝XtraBackup 2.4 版本有三種方式: (1) 存儲庫安裝Percona XtraBackup(推薦) (2 )下載的rpm或apt包安裝Percona XtraBackup。 (3) 源代碼編譯和安裝。 Percona為yum (Red Hat、CentOS和Amazo ...
一. 安裝說明
安裝XtraBackup 2.4 版本有三種方式:
(1) 存儲庫安裝Percona XtraBackup(推薦)
(2 )下載的rpm或apt包安裝Percona XtraBackup。
(3) 源代碼編譯和安裝。
Percona為yum (Red Hat、CentOS和Amazon Linux AMI的RPM包)和apt (Ubuntu和Debian的.deb包)提供存儲庫,用於Percona Server、Percona XtraBackup和Percona Toolkit等軟體。存儲庫安裝將得通過操作系統的包管理器,輕鬆地安裝和更新軟體及其依賴項。這是推薦的安裝方法。
二. 安裝演示(centos 7)
使用 yum安裝工具。 yum下載的預設文件包路徑存放在/var/cache/yum目錄下。
步驟1:切換到root用戶下,使用yum下載安裝Percona 存儲庫,代碼如下:
[root@hsr /]# yum install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm
完裝完成後,如下圖所示:
步驟2: 驗證yum是否安裝成功。下麵使用yum list輸出所有yum安裝的工具,並用grep來過濾,註意grep後面不要寫錯過濾條件。查詢命令如下:
[root@hsr /]# yum list | grep percona-xtrabackup
步驟3:安裝 percona-xtrabackup-24
[root@hsr /]# yum install percona-xtrabackup-24
最後簡單查看xtrabackup安裝路徑和文檔
-- 安裝路徑 [root@hsr /]# type xtrabackup xtrabackup 已被哈希 (/usr/bin/xtrabackup) -- 文檔 [root@hsr /]# xtrabackup --help xtrabackup: recognized server arguments: --server-id=1 --log_bin=/var/lib/mysql/mysql-bin --datadir=/usr/local/mysql/data xtrabackup: recognized client arguments: --server-id=1 --log_bin=/var/lib/mysql/mysql-bin --datadir=/usr/local/mysql/data xtrabackup version 2.4.12 based on MySQL server 5.7.19 Linux (x86_64) (revision id: 170eb8c) Open source backup tool for InnoDB and XtraDB -- 使用方法如下: Usage: [xtrabackup [--defaults-file=#] --backup | xtrabackup [--defaults-file=#] --prepare] [OPTIONS] -- 預設按照以下路徑讀取mysql的my.cnf文件 Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 最後[OPTIONS]參數太多,這篇就不在列出。
三 . 用戶許可權
3.1 連接服務和許可權概述
Percona XtraBackup需要能夠連接到資料庫伺服器,並創建備份、在某些場景中進行準備和恢復備份時,在伺服器的datadir上執行操作。為了做到這一點,必須滿足其執行的特權和許可權要求。
無論使用xtrabackup還是innobackupex,都會涉及兩個角色。調用程式的用戶(系統用戶)和在資料庫伺服器中執行操作的用戶(資料庫用戶)。請註意,這些用戶位於不同的位置,儘管他們的用戶名可能相同。
3.2 系統用戶許可權
執行 innobackupex/xtrabackup 命令的Linux用戶需要對mysql的datadir和保存備份的目錄(mysql的環境變數tmpdir)有讀寫執行許可權。查看datadir目錄許可權,使用mysql,root系統用戶,查看datadir目錄/usr/local/mysql/data。下圖顯示有讀寫執行許可權,如果沒有就需要設置。
備份目錄許可權,xtrabackup 備份選項target_dir,可以在備份時使用命令行指定選項,也可以在my.cnf中配置好target_dir,後面備份操作時再配置。
3.3 資料庫用戶許可權
連接工具可以是用innobackupex或xtrabackup。innobackupex只是一個軟鏈接指向了xtrabackup。用法一樣,後面就只講xtrabackup。innobackupex的軟連接如下圖所示:
用於連接到伺服器的資料庫用戶及其密碼由xtrabackup—user和xtrabackup—password選項指定。這裡user用戶是指mysql.user表中的用戶,需要一些基本的許可權來執行備份過程。資料庫用戶需要備份表或資料庫需要以下許可權:
(1) RELOAD重新載入和LOCK TABLES鎖定表(除非指定了-no-lock選項)二個許可權,LOCK TABLES是為了在開始複製文件之前使用READ LOCK讀鎖, 在使用備份鎖時,用於備份的鎖表和用於備份的鎖BINLOG需要此特權。RELOAD是為了刷新引擎日誌來FLUSH TALBES刷新表。
(2) REPLICATION CLIENT複製許可權,是客戶端為了獲得二進位日誌位置。
(3) TABLESPACE表空間許可權,創建表空間以導入表(參見恢復各個表)。
(4) PROCESS進程許可權,是為了運行SHOW ENGINE INNODB STATUS(這是強制性的),並可選地看到所有線程運行在伺服器上(見改進的嵌入式表與讀鎖處理)。
(5) SUPER許可權,為了在複製環境中啟動/停止從線程,使用XtraDB更改後的頁面跟蹤來進行增量備份和改進的具有讀鎖處理的刷新表。
(6) CREATE privilege特權 是為了創建PERCONA_SCHEMA.xtrabackup_history庫和表。
(7 )INSERT privilege特權,是為了添加歷史記錄PERCONA_SCHEMA.xtrabackup_history 表。
(8) select privilege特權,是為了使用innobackupex—incremental-history-name或innobackupex—incremental-history-uuid,以便特性在PERCONA_SCHEMA.xtrabackup_history 表中查找innodb_to_lsn值。
-- 下麵一個案例是:創建一個資料庫用戶,對於完全備份使用必需的最小特權。 mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 's3cret'; mysql> GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost'; mysql> FLUSH PRIVILEGES;
四.配置 xtrabackup
所有的xtrabackup配置都是通過選項完成的,其行為與標準的MySQL程式選項完全相同:它們可以通過命令行指定,也可以通過/etc/my.cnf這樣的文件指定。
xtrabackup二進位文件按照順序從任何配置文件中讀取[mysqld]和[xtrabackup]部分。這樣它就可以從您現有的MySQL安裝中讀取它的選項,例如datadir或一些InnoDB選項。如果您想要重寫這些內容,只需在[xtrabackup]部分中指定它們,因為它稍後會被讀取,所以它會優先。
如果不需要,您不需要在my.cnf中添加任何配置。您可以簡單地在命令行上指定選項。通常,在my.cnf文件的[xtrabackup]部分,您可能會發現唯一方便的地方是target_dir選項,它可以預設放置備份的目錄。例如:
[xtrabackup] target_dir = /data/backups/mysql/