Debian MySQL如何备份恢复数据
备份数据
-
逻辑备份(推荐)
- 全库备份:
mysqldump -u root -p --all-databases > /path/backup.sql
- 单库备份:
mysqldump -u root -p 数据库名 > /path/db_backup.sql
- 压缩备份:
gzip /path/backup.sql
(节省空间) - 定时备份:通过
crontab
设置定时任务,如每天凌晨备份。
- 全库备份:
-
物理备份(需停机)
- 停止MySQL服务:
sudo systemctl stop mysql
- 复制数据目录:
cp -R /var/lib/mysql /path/backup/
- 启动服务:
sudo systemctl start mysql
- 停止MySQL服务:
恢复数据
-
逻辑恢复
- 解压缩备份文件(若压缩):
gunzip /path/backup.sql.gz
- 导入备份:
mysql -u root -p < /path/backup.sql
- 指定数据库导入:
mysql -u root -p 数据库名 < /path/db_backup.sql
- 解压缩备份文件(若压缩):
-
二进制日志恢复(精准恢复)
- 确认binlog开启:
SHOW VARIABLES LIKE 'log_bin';
- 解析binlog:
mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" /var/lib/mysql/mysql-bin.000001 > recovery.sql
- 导入日志:
mysql -u root -p < recovery>
- 确认binlog开启:
注意事项
- 备份文件需存放在安全位置,建议异地存储。
- 恢复前建议先测试备份文件完整性。
- 生产环境建议结合
cron
定时备份+二进制日志,实现全量+增量恢复。
参考来源:[1,2,3,4,5,6,7,8,9,10,11]
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!