以下是在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目录。
验证备份文件
检查备份文件是否存在及大小:
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备份恢复的完整测试,确保备份策略有效可靠。