xtrabackup全備操作和誤刪備份恢復操作

1.安裝percona源
rpm -Uhv http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm

2.使用yum安裝percona-xtrabackup:
yum -y install percona-xtrabackup
yum install -y perl-DBD-MySQL perl-DBI perl-Time-HiRes libaio*

3.安裝結果
rpm -qa |grep xtrabackup

rpm -ql percona-xtrabackup-2.3.10-1.el6.x86_64
用來查看是否正常安裝

xtrabackup:是用於熱備份innodb, xtradb表中數據的工具,不能備份其他類型的表,也不能備份數據表結構;

innobackupex:是將xtrabackup進行封裝的perl腳本,提供了備份myisam表的能力。

4.innobackupex --user=root --password=xxx /data/dbbackup
進行全備操作 /data/dbbackup 作爲你全備存放的目錄
最後操作如果正常 會提示 “completed OK ”

5.innobackupex --apply-log /data/dbbackup/2018-01-19_19-41-35/
在備份的同時,備份數據會在備份目錄下創建一個以當前日期時間爲名字的目錄存放備份文件
一般情況下,在備份完成後,數據尚且不能用於恢復操作,因爲備份的數據中可能會包含尚未提交的事務或已經提交但尚未同步至數據文件中的事務。因此,此時數據文件仍處理不一致狀態。“--apply-log”的主要作用正是通過回滾未提交的事務及同步已經提交的事務至數據文件也使得數據文件處於一致性狀態。

最後操作如果正常 會提示 “completed OK ”

6.誤刪操作實驗
將mysql 3306進程關掉,
將 /data/mysql目錄下的文件刪除,當然刪除前 請記得先備份。

7.執行全備數據恢復操作
innobackupex --copy-back /data/dbbackup/2018-01-19_19-41-35/

innobackupex命令的--copy-back選項用於執行恢復操作,其通過複製所有數據相關的文件至mysql服務器DATADIR目錄中來執行恢復過程。innobackupex通過backup-my.cnf來獲取DATADIR目錄的相關信息。

提示: innobackupex: completed OK!

8.這個時候不能直接啓動數據庫,不然看到的還是已經刪除掉的數據庫。因爲/data/mysql目錄的用戶權限已經修改爲root
-rw-r--r--. 1 root root 0 10月 4 21:27 05.sql
-rw-r--r--. 1 root root 18874368 10月 4 21:27 ibdata1
-rw-r--r--. 1 root root 5242880 10月 4 21:27 ib_logfile0
-rw-r--r--. 1 root root 5242880 10月 4 21:27 ib_logfile1
drwxr-xr-x. 2 root root 4096 10月 4 21:27 jiaowu
drwxr-xr-x. 2 root root 4096 10月 4 21:27 mysql
drwxr-xr-x. 2 root root 4096 10月 4 21:27 performance_schema
drwxr-xr-x. 2 root root 4096 10月 4 21:27 test

所以我們要將權限修改爲mysql
chown -R mysql:mysql /data/mysql

然後在重新啓動mysqld

然後在查看數據庫是否已經還原正常
information_schema |
| jira |
| mysql |
| mysql_test |
| performance_schema |
| serverinfo |
| test

  1. cat xtrabackup_binlog_pos_innodb
    查看完全備份時日誌位置:mysql-bin.000007 3951
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章