MySQL 备份与恢复指南

一、备份单个数据库

1. 备份全部表结构和数据

bash 复制代码
mysqldump -u [用户名] -p[密码] [数据库名] > /指定路径/备份文件名.sql

2. 只备份表结构

bash 复制代码
# 可添加 --no-data 参数
mysqldump -u root -p123456 --no-data mydatabase > /data/backup/mydatabase_structure.sql

二、备份全部数据库

bash 复制代码
# 可添加 --all-databases 参数
mysqldump -u root -p123456 --all-databases > /data/backup/all_databases.sql

三、备份多个指定数据库

bash 复制代码
# 使用 --databases 参数
mysqldump -u root -p123456 --databases db1 db2 db3 > /data/backup/multiple_databases.sql

四、压缩备份文件(推荐)

1. 备份并压缩

bash 复制代码
mysqldump -u root -p123456 mydatabase | gzip > /data/backup/mydatabase_backup.sql.gz

2. 恢复时解压

bash 复制代码
gunzip < /data/backup/mydatabase_backup.sql.gz | mysql -u root -p123456 mydatabase

五、备份 MySQL 数据表

1. 备份单个表(结构 + 数据)

bash 复制代码
mysqldump -u [用户名] -p[密码] [数据库名] [表名] > /指定路径/备份文件名.sql

2. 只备份表结构(不包含数据)

bash 复制代码
# 使用 --no-data 参数
mysqldump -u root -p123456 --no-data mydatabase users > /data/backup/users_structure.sql

3. 只备份表数据(不包含结构)

bash 复制代码
# 使用 --no-create-info 参数
mysqldump -u root -p123456 --no-create-info mydatabase users > /data/backup/users_data.sql

4. 备份表的部分数据(按条件筛选)

bash 复制代码
# 使用 --where 参数指定过滤条件
# 只备份 `users` 表中状态为 active 的记录
mysqldump -u root -p123456 mydatabase users --where="status='active'" > /data/backup/users_active.sql

5. 压缩表备份文件

bash 复制代码
mysqldump -u root -p123456 mydatabase users | gzip > /data/backup/users_table_backup.sql.gz

6. 恢复压缩的表备份

bash 复制代码
gunzip < /data/backup/users_table_backup.sql.gz | mysql -u root -p123456 mydatabase

注意事项

  1. 替换命令中的 [用户名][密码][数据库名][表名] 为实际值
  2. 恢复数据前请确保目标数据库存在(备份全部数据库时会自动创建数据库)
  3. 压缩备份可显著减少存储空间占用,推荐使用
  4. 备份文件应妥善保管,建议存储在多个位置以防止数据丢失
相关推荐
初听于你2 小时前
高频面试题解析:算法到数据库全攻略
数据库·算法
瓯雅爱分享6 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
BTU_YC8 小时前
Neo4j查询计划完全指南:读懂数据库的“执行蓝图“
数据库·neo4j
非极限码农8 小时前
Neo4j图数据库上手指南
大数据·数据库·数据分析·neo4j
mit6.8248 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
咋吃都不胖lyh8 小时前
SQL-多对多关系
android·mysql·数据分析
苏打水com9 小时前
数据库进阶实战:从性能优化到分布式架构的核心突破
数据库·后端
shan~~9 小时前
linux达梦数据库操作
linux·数据库·chrome
武文斌7710 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
CoderIsArt10 小时前
SQLite架构
数据库·sqlite