Debian MySQL备份恢复实战
以下是Debian MySQL备份恢复实战要点:
备份实战
- 逻辑备份(常用):用
mysqldump
工具,备份全库mysqldump -u root -p --all-databases > all_backup.sql
,备份单库mysqldump -u root -p mydb > mydb_backup.sql
,可加-p
参数直接跟密码。为节省空间,可用gzip
压缩备份文件,如gzip mydb_backup.sql
。 - 物理备份:停止MySQL服务
sudo systemctl stop mysql
,复制数据目录cp -R /var/lib/mysql /path/to/backup/
,恢复时再复制回去并重启服务。也可使用mysqlpump
(适合大型库)或xtrabackup
(支持热备份)工具。 - 定时备份:通过
crontab -e
设置,如0 2 * * * mysqldump -u root -p mydb > /path/to/backup/mydb_$(date +\%F).sql
,实现每天凌晨2点备份。
恢复实战
- 逻辑恢复:若用
mysqldump
备份,恢复时先创建数据库(若不存在)CREATE DATABASE db_name;
,再用mysql
命令导入mysql -u root -p db_name < backup>。若备份文件压缩,需先解压
gunzip backup.sql.gz
。 - 物理恢复:停止MySQL服务,用备份文件覆盖原数据目录,确保权限正确
sudo chown -R mysql:mysql /var/lib/mysql
,然后重启服务。 - 二进制日志恢复:先确认二进制日志开启,通过
SHOW VARIABLES LIKE 'log_bin';
等命令查看,再用mysqlbinlog
解析日志mysqlbinlog /path/to/binlog > binlog.sql
,最后导入日志mysql -u root -p < binlog>。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!