使用mysqlbackup 備份
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同用
推薦閱讀:
※OCP-1Z0-051 第九題
※OCP-1Z0-051 第十二題
※OCP-1Z0-051 第七題
※OCP-1Z0-051 第八題
※OCP-1Z0-051 第十五題