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. 备份文件应妥善保管,建议存储在多个位置以防止数据丢失
相关推荐
NineData3 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师5 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石9 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北2 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12024 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript