当前位置: 首页 > news >正文

MySQL 数据导出及备份方法

MySQL 数据导出及备份方法

使用 mysqldump 工具

mysqldump 是 MySQL 官方提供的逻辑备份工具,适合中小型数据库备份。
基本导出命令格式如下:

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

导出整个数据库:

mysqldump -u root -p mydatabase > backup.sql

导出特定表:

mysqldump -u root -p mydatabase table1 table2 > tables_backup.sql

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

mysqldump -u root -p --no-data mydatabase > schema_only.sql

使用 SELECT INTO OUTFILE

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

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

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

mysqlbackup --user=root --password --backup-dir=/backup backup

自动化备份脚本示例

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

#!/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 文件恢复:

mysql -u root -p mydatabase < backup.sql

从 CSV 文件导入:

LOAD DATA INFILE '/tmp/table_export.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';

注意事项
  • 备份前确保有足够的磁盘空间
  • 定期验证备份文件的完整性
  • 重要数据建议采用异地备份策略
  • 对于大型数据库,考虑使用 Percona XtraBackup 等专业工具
http://www.dtcms.com/a/422494.html

相关文章:

  • 公司网站建设设计如何收费网站诊断分析
  • 网站设计技巧如何看网站是用什么程序做的
  • Pythoner 的Flask项目实践-Mapboxgl-v3全球3D地图体验之地标性 3D 建筑物(迪拜哈里发大厦三维模型展示)
  • 学习机器学习要学习和掌握哪些知识?
  • 化学专业大型语言模型——SparkChemistry-X1-13B本地部署教程:洞察分子特性,精准预测化学行为
  • qt5下载
  • c 网站开发代码wordpress调用副标题
  • vscode 不能跳转 ERR_OSSL_EVP_BAD_DECRYPT
  • 大数据毕业设计选题推荐-基于大数据的全球产品库存数据分析与可视化系统-大数据-Spark-Hadoop-Bigdata
  • GitPuk入门到实战(4) - 如何进行分支管理
  • 基于AC6351D2做无线键盘
  • 【STM32项目开源】基于STM32的智能路灯控制系统
  • 超越编辑器:IntelliJ IDEA,如何成为Java开发的智慧引擎
  • Day31_【 NLP _1.文本预处理 _(2)文本张量表示方法】
  • UNIX下C语言编程与实践3-Vi 编辑器从入门到精通:快捷键使用与高效编辑技巧
  • 网站 设计 案例 简单易订货小程序怎么收费
  • 锂离子扩散能垒计算如何驱动高性能电池研发-测试GO
  • rtsoft 的“整理”流程
  • C++程序设计上机作业(1)
  • 【C++STL :vector类 (一) 】详解vector类的使用层vector实践:算法题
  • 机器学习项目结构目录的构建
  • 2022 年 CSP-J(中国计算机学会软件能力认证入门级)初赛真题与答案解析
  • 常州市建设工程网站衡水做网站
  • 北京58网站建设wordpress在线商城插件
  • 2025年计算机网络与信号处理国际会议(CNSP 2025)
  • 利用css的动画效果制作轮播图
  • docker镜像和
  • CSS通用优惠券样式
  • STM32F1学习——CAN外设(上)
  • Docker Desktop实战、问题记录