以下是Debian系统下MySQL备份恢复的典型案例及操作要点:
需求:备份mydb数据库并恢复到新实例。
操作步骤:
mysqldump -u root -p mydb > /backups/mydb_20250809.sql # 备份为SQL文件
gzip /backups/mydb_20250809.sql # 压缩节省空间
gunzip /backups/mydb_20250809.sql.gz # 解压
mysql -u root -p -e "CREATE DATABASE mydb_restore;" # 创建新库
mysql -u root -p mydb_restore < /backups/mydb_20250809.sql # 导入数据
需求:快速备份整个MySQL数据目录并恢复。
操作步骤:
sudo systemctl stop mysql # 停止服务
sudo cp -R /var/lib/mysql /backups/mysql_backup # 复制数据目录
sudo chown -R mysql:mysql /backups/mysql_backup # 确保权限正确
sudo systemctl start mysql
sudo systemctl stop mysql
sudo rm -rf /var/lib/mysql/* # 清空原数据
sudo cp -R /backups/mysql_backup/* /var/lib/mysql/ # 恢复备份
sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl start mysql
需求:从全量备份后恢复增量数据(如误删表后恢复)。
操作步骤:
log_bin=/var/log/mysql/mysql-bin.log)。mysql -u root -p < /backups/full_backup.sql # 先恢复全量备份
mysqlbinlog /var/log/mysql/mysql-bin.000001 --start-datetime="2025-08-09 00:00:00" --stop-datetime="2025-08-09 12:00:00" > incremental.sql # 解析增量日志
mysql -u root -p < incremental.sql # 应用增量SQL
mysqlcheck工具测试备份完整性。crontab定时执行备份脚本,结合rsync实现远程同步。以上案例覆盖不同场景,可根据数据库规模和恢复需求选择合适方案。