2026-10-21 11:41:59
MySQL数据库的完全备份可通过物理备份或逻辑备份实现,恢复则依赖备份类型选择对应方法。以下是具体操作流程与要点:
一、MySQL完全备份方法完全备份指对数据库所有数据、结构及文件进行完整复制,是增量/差异备份的基础,但存在空间占用大、耗时长的缺点。
1. 物理备份(冷备份)关闭数据库:确保数据一致性。
打包数据文件:直接复制数据库存储目录(如/usr/local/mysql/data)下的所有文件(.frm表结构、.MYD数据、.MYI索引)。
示例命令:
tar jcvf /opt/mysql-$(date +%F).tar.gz /usr/local/mysql/data备份单个库:
mysqldump -u 用户名 -p 库名 > /备份路径/备份文件名.sql# 示例mysqldump -u root -p abc > /backup/abc.sql备份多个库:
mysqldump -u 用户名 -p --databases 库1 库2 > /备份路径/备份文件名.sql# 示例mysqldump -u root -p --databases ab1 ab2 > /backup/ab1-ab2.sql备份所有库:
mysqldump -u 用户名 -p --all-databases > /备份路径/备份文件名.sql# 示例mysqldump -u root -p --opt --all-databases > /backup/ku.sql备份表:
mysqldump -u 用户名 -p 库名 表名 > /备份路径/备份文件名.sql# 示例mysqldump -u root -p abc school > /backup/abc-school.sql仅备份表结构(无数据):
mysqldump -u 用户名 -p -d 库名 表名 > /备份路径/备份文件名.sql# 示例mysqldump -u root -p -d abc school > /backup/abc-school.sql恢复方式取决于备份类型(物理/逻辑),逻辑备份需通过SQL脚本导入。
1. 使用source命令恢复登录MySQL:
mysql -u 用户名 -p执行恢复:
source /备份路径/备份文件名.sql# 示例source /backup/abc.sql若备份文件包含库创建语句,直接执行上述命令。
若仅含表数据,需指定目标库(且库必须存在):
mysql -u 用户名 -p 库名 < /备份路径/表备份文件.sql# 示例mysql -u root -p mysql < /backup/abc-school.sql停止MySQL服务:
systemctl stop mysql删除原数据目录(谨慎操作!):
rm -rf /usr/local/mysql/data/*解压备份文件到数据目录:
tar jxvf /opt/mysql-备份日期.tar.gz -C /usr/local/mysql/启动MySQL服务:
systemctl start mysql通过上述方法,可实现MySQL数据库的完全备份与灵活恢复,确保数据安全性和业务连续性。