以下是在Ubuntu上進行MySQL備份恢復測試的常用方法,以邏輯備份(mysqldump)為例,步驟簡單且易操作:
創建測試數據庫
登錄MySQL,執行以下命令創建測試庫和表:
CREATE DATABASE test_backup;
USE test_backup;
CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50));
INSERT INTO users VALUES (1, 'Alice'), (2, 'Bob');
退出MySQL:exit;
執行備份命令
使用mysqldump
備份測試庫到指定文件(如/tmp/test_backup.sql
):
mysqldump -u root -p test_backup > /tmp/test_backup.sql
輸入密碼后,備份文件會保存在/tmp
目錄。
驗證備份文件
檢查備份文件是否存在及大?。?/p>
ls -l /tmp/test_backup.sql
若文件存在且大小合理,則備份成功。
準備恢復環境
確保測試庫不存在(若存在可先刪除):
DROP DATABASE IF EXISTS test_backup;
CREATE DATABASE test_backup;
退出MySQL:exit;
執行恢復命令
使用mysql
命令導入備份文件:
mysql -u root -p test_backup < /tmp/test_backup.sql
輸入密碼后,數據會恢復到test_backup
庫中。
驗證恢復結果
登錄MySQL檢查數據是否恢復:
USE test_backup;
SELECT * FROM users;
若能正確查詢到備份時的數據(如Alice
、Bob
),則恢復成功。
若需測試物理備份(直接復制數據文件),步驟如下:
停止MySQL服務
sudo systemctl stop mysql
復制數據目錄
將備份的數據目錄(如/var/lib/mysql
)復制到目標位置,覆蓋原數據目錄。
啟動MySQL服務
sudo systemctl start mysql
驗證數據一致性
通過SQL查詢確認表結構和數據是否完整。
注意:物理備份需確保MySQL版本和配置一致,且恢復前務必備份當前數據,避免誤操作導致數據丟失。
可通過cron
定時執行備份腳本,例如每天凌晨備份并記錄日志:
crontab
:sudo crontab -e
0 2 * * * mysqldump -u root -p test_backup > /backup/test_backup_$(date +\%F).sql 2>> /backup/backup.log
保存后重啟cron
:sudo service cron restart
。通過以上步驟,可在Ubuntu上完成MySQL備份恢復的完整測試,確保備份策略有效可靠。