A.1全庫備份.
命令:
mysqlbackup --defaults-file=/home/mysql-server/mysql3/my.cnf --user=root --password=root --databases="mysql total2" --with-timestamp --backup-dir=/home/mysql-server/backup backup
參數說明:
--defaults-file my.cnf檔案的路徑,主要用於一台伺服器多個mysql服務.預設位置是/etc/my.cnf
--user 使用者名稱,這個使用者必須在mysql庫裡面有建立table和查詢,插入的許可權.在備份的過程中.mysqlbackup會在mysql庫下建立backup_history, backup_progress表.使用者保留備份的曆史資訊和備份的基礎資訊.
--password密碼
--database 需要備份的資料庫,要備份多個資料庫需要用””包括起來,每個資料庫中間用空格分開
--with-timestamp使用者建立一個備份目錄下面目前時間的檔案夾,如果沒有這個參數,多次備份時,制定同一個目錄,會使上一次備份的檔案覆蓋掉.
--backup-dir備份的目錄
Backup 表明,這是備份操作
A.2全庫還原.
第一步:檢測交易記錄
Mysqlbackup --defaults-file=/home/mysql-server/mysql2/my.cnf --backup-dir=/home/mysql-server/backup/2012-03-21_14-01-34/ apply-log
參數說明:
apply-log:因為在備份的時候是線上的,如果有新插入的SQL語句,會記錄新增加的LSN點,然後新修改的頁面會放到這個檔案裡面(ibbackup_logfile),同時也會放到資料表空間裡面.當還原使用這個參數的時候,mysqlbackup會檢測ibbackup_logfile和資料表空間的LSN點,然後比較ibbackup_logfile檔案資料表空間LSN的差值,把這個值放到交易記錄LOG裡面.(交易記錄如果填滿了,會進入資料表空間的)
第二步:copy物理檔案
mysqlbackup --defaults-file=/home/mysql-server/mysql2/my.cnf --backup-dir=/home/mysql-server/backup/2012-03-21_14-01-34/ --innodb_log_files_in_group=2 copy-back
B.1 壓縮全庫備份
mysqlbackup --defaults-file=/home/mysql-server/mysql3/my.cnf --user=root --password=root --compress-level=1 --databases="mysql total2" --with-timestamp --backup-dir=/home/mysql-server/backup backup
參數說明:
--compress-level=1
1為快速壓縮.共有9個等級
B.2壓縮還原
第一步:檢測交易記錄,並解壓
mysqlbackup --defaults-file=/home/mysql-server/mysql2/my.cnf --uncompress --backup-dir=/home/mysql-server/backup/2012-03-21_14-08-33/ apply-log
uncompress解壓壓縮後的檔案.
第二步:copy物理檔案
mysqlbackup --defaults-file=/home/mysql-server/mysql2/my.cnf --innodb_log_files_in_group=2 --backup-dir=/home/mysql-server/backup/2012-03-21_14-08-33/ copy-back
增量備份不支援壓縮. backup-and-apply-log參數不能跟--compress-level同用