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. 备份文件应妥善保管,建议存储在多个位置以防止数据丢失
相关推荐
Bruce_Liuxiaowei5 小时前
基于微步在线威胁情报的公网 IP 攻击迹象监测:threatbook_query 脚本全解析与 BruceSec 平台整合实践
数据库·tcp/ip·安全·网络安全·智能体
码农颜5 小时前
5.6.2 ⾏级锁死锁
数据库·sql·oracle
ChaHae-In6 小时前
MyBatis动态SQL与MyBatis-Plus高效开发指南
数据库·oracle·mybatis
冰暮流星6 小时前
mysql之分组查询
数据库·mysql
倒流时光三十年6 小时前
PostgreSQL Semi-Join(半连接)通俗讲解
数据库·postgresql
NiceCloud喜云7 小时前
腾讯云国际版云数据库选型:MySQL、Redis 怎么按业务架构来判断
数据库·mysql·腾讯云
ew452187 小时前
MySQL JOIN 关联语法、差异、标准用法、经典坑点汇总
数据库·mysql
Rain的Java大神之路8 小时前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
Nturmoils8 小时前
给运营导个 CSV,在 ksql 里用 \copy 就够了
数据库
ciqingloveless8 小时前
Oracle打开数据库加密
数据库·oracle