MySQL 数据导出及备份方法

MySQL 数据导出及备份方法

使用 mysqldump 工具

mysqldump 是 MySQL 官方提供的逻辑备份工具,适合中小型数据库备份。

基本导出命令格式如下:

bash 复制代码
mysqldump -u [用户名] -p[密码] [数据库名] > [输出文件.sql]

导出整个数据库:

bash 复制代码
mysqldump -u root -p mydatabase > backup.sql

导出特定表:

bash 复制代码
mysqldump -u root -p mydatabase table1 table2 > tables_backup.sql

导出数据库结构(不含数据):

bash 复制代码
mysqldump -u root -p --no-data mydatabase > schema_only.sql
使用 SELECT INTO OUTFILE

适合导出单表数据为 CSV 格式:

sql 复制代码
SELECT * INTO OUTFILE '/tmp/table_export.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM table_name;
物理备份(直接复制文件)

对于 InnoDB 存储引擎,可通过复制数据文件实现热备份:

  1. 执行 FLUSH TABLES WITH READ LOCK 锁定所有表
  2. 复制 /var/lib/mysql 目录下的数据库文件
  3. 执行 UNLOCK TABLES 释放锁
使用 MySQL Enterprise Backup

商业版工具,支持增量备份和热备份:

bash 复制代码
mysqlbackup --user=root --password --backup-dir=/backup backup
自动化备份脚本示例

创建每日自动备份脚本(保存为 /usr/local/bin/mysql_backup.sh):

bash 复制代码
#!/bin/bash
DATE=$(date +%Y%m%d)
mysqldump -u root -pPASSWORD --all-databases | gzip > /backup/mysql_$DATE.sql.gz
find /backup/ -type f -mtime +7 -exec rm {} \;
重要参数说明
  • --single-transaction:对 InnoDB 表执行无锁导出
  • --routines:包含存储过程和函数
  • --events:包含事件调度器
  • --triggers:包含触发器
  • --master-data=2:记录二进制日志位置(主从复制场景)
恢复数据方法

从 mysqldump 文件恢复:

bash 复制代码
mysql -u root -p mydatabase < backup.sql

从 CSV 文件导入:

sql 复制代码
LOAD DATA INFILE '/tmp/table_export.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
注意事项
  • 备份前确保有足够的磁盘空间
  • 定期验证备份文件的完整性
  • 重要数据建议采用异地备份策略
  • 对于大型数据库,考虑使用 Percona XtraBackup 等专业工具
相关推荐
工程师老罗6 小时前
如何在Android工程中配置NDK版本
android
Libraeking10 小时前
破壁行动:在旧项目中丝滑嵌入 Compose(混合开发实战)
android·经验分享·android jetpack
市场部需要一个软件开发岗位10 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
JMchen12312 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
crmscs13 小时前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑
localbob13 小时前
杀戮尖塔 v6 MOD整合版(Slay the Spire)安卓+PC端免安装中文版分享 卡牌肉鸽神作!杀戮尖塔中文版,电脑和手机都能玩!杀戮尖塔.exe 杀戮尖塔.apk
android·杀戮尖塔apk·杀戮尖塔exe·游戏分享
机建狂魔13 小时前
手机秒变电影机:Blackmagic Camera + LUT滤镜包的专业级视频解决方案
android·拍照·摄影·lut滤镜·拍摄·摄像·录像
hudawei99613 小时前
flutter和Android动画的对比
android·flutter·动画
lxysbly15 小时前
md模拟器安卓版带金手指2026
android
儿歌八万首15 小时前
硬核春节:用 Compose 打造“赛博鞭炮”
android·kotlin·compose·春节