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. 备份文件应妥善保管,建议存储在多个位置以防止数据丢失
相关推荐
小张快跑。3 分钟前
【Java入门到精通】(五)初识MySql数据库
java·数据库·mysql
kfepiza13 分钟前
Debian-10,用glibc二进制预编译包,安装Mysql-5.7.44 笔记250716
mysql·debian
czhc114007566321 分钟前
Linux 716 数据库迁移
linux·数据库
搬码临时工23 分钟前
外网如何连接内网中的mysql数据库服务?跨网直接访问操作,不用公网IP
数据库·tcp/ip·mysql
Rowrey28 分钟前
mongoDB初始化项目简单操作示例
数据库·mongodb
NineData32 分钟前
NineData 社区版 V4.3.0 正式发布!新增 5 条迁移对比链路,全面支持 MariaDB、GaussDB 等数据库
数据库
久念祈1 小时前
C++ - 仿 RabbitMQ 实现消息队列--sqlite与gtest快速上手
数据库·sqlite
ApacheSeaTunnel1 小时前
MySQL 数据同步至 S3file,并接入 Hive 访问:SeaTunnel 实践指南
大数据·mysql·开源·数据集成·s3·seatunnel·数据同步
wjpwjpwjp08311 小时前
[MySQL基础1]数据定义语言DDL与数据操作语言DML
数据库·笔记·mysql·oracle
Leo.yuan1 小时前
ETL还是ELT,大数据处理怎么选更靠谱?
大数据·数据库·数据仓库·信息可视化·etl