標籤:
備份
建立一個用於存放備份的目錄
mkdir /backup
執行以下命令:
innobackupex --password=test /backup/
執行完後你會看到“completed OK!”的字樣。
備忘:
test是我的MySQL的root使用者的密碼。
完整的命令應該是這樣的:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=test /backup/
因為我使用的設定檔是預設的/etc/my.cnf,而且我是直接使用MySQL的root使用者備份的,所以我省略了--defaults-file參數和--user參數。
執行命令前請先檢查MySQL的設定檔,查看[mysqld]下是否指定了datadir,如果沒有請自行添加,否則執行命令後會報錯。
預設情況下,系統會自動在備份目錄下建立一個以目前時間命名的目錄(格式:yyyy-mm-dd_HH-MM-SS),如果你希望自訂目錄的名稱,就請在命令的末尾加上--no-timesmtap參數,加上這個參數後,系統就不會自動建立目錄了,所以我們要事先在備份目錄下建立一個目錄用來存放備份,比如/backup/full。
還原
為了看到實驗效果,讀者可以對資料庫進行增刪改,然後再還原。
停止MySQL服務
service mysqld stop
清空MySQL的資料目錄
rm -rf /mysql/*
備忘:在生產環境中,如果有足夠的空間,建議採用重新命名的方式進行備份。
復原日誌
innobackupex --apply-log /backup/2016-09-20_12-33-47/
備忘:2016-09-20_12-33-47是我之前備份的目錄,請讀者根據自己的實際情況進行修改。
還原
innobackupex --copy-back /backup/2016-09-20_12-33-47/
執行完後你會看到“completed OK!”的字樣。
修改資料目錄的屬主和屬組
chown -R mysql.mysql /mysql/
啟動MySQL服務
service mysqld start
此時登入MySQL,可以看到已經恢複到我們備份前的樣子了。
通過innobackupex實現對MySQL的完整備份與還原