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. 备份文件应妥善保管,建议存储在多个位置以防止数据丢失
相关推荐
qq7422349841 分钟前
Python操作数据库之pyodbc
开发语言·数据库·python
姚远Oracle ACE25 分钟前
Oracle 如何计算 AWR 报告中的 Sessions 数量
数据库·oracle
Dxy12393102161 小时前
MySQL的SUBSTRING函数详解与应用
数据库·mysql
码力引擎1 小时前
【零基础学MySQL】第十二章:DCL详解
数据库·mysql·1024程序员节
杨云龙UP1 小时前
【MySQL迁移】MySQL数据库迁移实战(利用mysqldump从Windows 5.7迁至Linux 8.0)
linux·运维·数据库·mysql·mssql
l1t1 小时前
利用DeepSeek辅助修改luadbi-duckdb读取DuckDB decimal数据类型
c语言·数据库·单元测试·lua·duckdb
安当加密1 小时前
Nacos配置安全治理:把数据库密码从YAML里请出去
数据库·安全
ColderYY2 小时前
Python连接MySQL数据库
数据库·python·mysql
IT教程资源C2 小时前
(N_084)基于jsp,ssm学生信息管理系统
mysql·jsp·ssm学生信息
GW_Cheng2 小时前
达梦数据库适配遇到的一些问题
数据库·国产化·达梦数据库