mysqldump 是日常比较常用的一个工具了,在对数据库进行导出工作时,经常会用到 mysqldump 。本篇文章将介绍 mysqldump 工具的使用方法并分享几点备份技巧。

mysqldump使用简介

mysqldump 是 MySQL 系统自带的逻辑备份工具,主要用于转储数据库。它主要产生一系列的 SQL 语句,可以封装到文件,该文件包含重建数据库所需要的 SQL 命令如 CREATE DATABASE ,CREATE TABLE ,INSERT 等等。当我们需要还原这些数据时,只需要执行此文件,即可将对应的数据还原。

mysqldump 基础使用语法如下:

Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS] 

执行 mysqldump --help 或参考 MySQL 官方文档,我们发现 mysqldump 工具可配置的参数有很多,以下简要说明部分常用的参数。

上表展示了一些常见的 mysqldump 相关选项,当你不了解某个参数的作用时,可以执行 mysqldump --help 来获取帮助。对于布尔类型的参数,一般还存在一个与之对立的参数,如 --triggers 默认开启,可以使用 --skip-triggers 来禁用它。

几点备份小技巧

虽然 mysqldump 不太适用于大数据量的备份,但因其具有灵活方便、可根据场景定制参数等优点,还是被广泛应用在数据导出领域。

笔者根据自己的使用经验,简单分享几点 mysqldump 备份小技巧:

  • 建议使用 --single-transaction 参数来获得一致性备份,减少锁表。
  • 按需求来导出,只要自己想要的数据,尽量减少导出文件大小。
  • 若想用于搭建从库,建议使用 --master-data = 2 参数记录主库 binlog 信息。
  • 若想备份存储过程、自定义函数及事件,请加 -R -E 参数,此二者默认不开启。
  • 不了解的参数不要随意加,按默认即可。

下面分享几个不同场景下的 mysqldump 使用方法:

# 备份全部数据库(包含存储过程、自定义函数及事件)
mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases > /tmp/all_database.sql # 要求记录 binlog 位点信息 可用于搭建从库
mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases --master-data=2 > /tmp/all_database.sql # 备份指定数据库
mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 > /tmp/db1.sql
mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 db2 > /tmp/db1_db2.sql # 备份部分表
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 > /tmp/tb1.sql
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 tb2 tb3 > /tmp/tb.sql # 导出某个表,数据以单行insert显示
mysqldump -uroot -pxxxxxx --single-transaction --skip-extended-insert db1 tb1 > /tmp/tb1.sql # 导出单表的部分数据
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where=" create_time >= '2021-06-01 00:00:00' " > /tmp/tb1.sql
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where='id < 10' > /tmp/tb1.sql # 排除某些表导出
mysqldump -uroot -pxxxxxx --single-transaction --databases db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > /tmp/db1.sql # 只导出结构或只导出数据
mysqldump -uroot -pxxxxxx db1 --no-data > /tmp/db1_jiegou.sql
mysqldump -uroot -pxxxxxx db1 --no-create-info > /tmp/db1_data.sql # 只导出某个库的存储过程及自定义函数
mysqldump -uroot -pxxxxxx -d -t -R db1 > /tmp/db1_routine.sql # 远程导出 即MySQL服务端不在本地
mysqldump -uroot -pxxxxxx -hxxx.xxx.xx -P3306 --single-transaction --databases db1 > /tmp/db1.sql 

总结

本篇文章主要介绍了 mysqldump 工具的使用方法及一些常见场景。mysqldump 作为一个实用工具,希望各位都能上手学习下,比用 Navicat 等图形化界面导出更快速,且文件体积小。

MySQLDump的备份方法相关推荐

  1. mysqldump 常用备份选项,只备份数据或结构的方法

    mysqldump 常用备份选项,只备份数据或结构的方法, 常见选项: --all-databases, -A: 备份所有数据库 --databases, -B: 用于备份多个数据库,如果没有该选项, ...

  2. 用mysqldump远程备份mysql数据库

    用mysqldump远程备份mysql数据库 mysqldump是备份mysql数据库的一种好工具.它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系 ...

  3. mysqldump 定时备份数据(全量)

    MYSQL 数据库备份有很多种(cp.tar.lvm2.mysqldump.xtarbackup)等等,具体使用哪一个还要看你的数据规模.下面给出一个表 #摘自<学会用各种姿态备份Mysql数据 ...

  4. 备份 二进制备份MySQLdump 增量备份 xtrabackupex

    备份的原因是因为数据丢失和删除,当想要找回的时候就可以去备份恢复.备份具有唯一性和服务的可用性:备份有两种方式,一种是热备份(逻辑备份),还有一种是冷备份(物理备份):备份分为三类,完全备份,增量备份 ...

  5. mysql英文版数据库备份方法_mysql数据库太大了如何备份与还原

    命令:mysqlhotcopy 这个命令会在拷贝文件之前会把表锁住,并把数据同步到数据文件中,以避免拷贝到不完整的数据文件,是最安全快捷的备份方法. 命令的使用方法是: mysqlhotcopy -u ...

  6. MySQL——使用mysqldump命令备份

    使用mysqldump命令备份 mysqldump命令可以将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中.本节将介绍mysqldump命令的工作原理和使用方法. my ...

  7. mysqldump逻辑备份

    目录 一.了解mysqldump工具 1.1 物理备份和逻辑备份 1.2 常用备份选项 二.mysqldump备份及恢复 2.1 备份表 2.2 备份库 2.3 恢复库 2.4 恢复表 2.5 备份表 ...

  8. mysqldump命令备份数据 mysql备份数据

    一. mysqldump命令备份数据 二. mysqldump常用操作示例 三. 还原 MySQL 备份内容 1.编写BASH维护固定数量备份文件 2.使用crontab定期执行备份脚本 2.1 cr ...

  9. linux的常用备份方法,Linux系统下常用的数据备份方法

    Linux系统下常用的数据备份方法 发布时间:2009-10-28 15:11:36来源:红联作者:szlfeng Linux系统下常用的数据备份方法 1.本机上数据的手工备份 Linux系统上配有功 ...

最新文章

  1. mybatis 传递set集合
  2. 台湾大学林轩田机器学习基石课程学习笔记2 -- Learning to Answer Yes/No
  3. 2018-2019-2 网络对抗技术 20165328 Exp2 后门原理与实践
  4. 疯子的算法总结(六) 复杂排序算法 ① 归并排序 merge_sort()
  5. android基于蓝牙实验,基于Android智能蓝牙的血糖实时监测系统的设计与实现
  6. 关于response格式转换
  7. Spring Boot————Spring Boot启动流程分析
  8. WordPress Tweet Blender插件跨站脚本漏洞
  9. C++ unordered_map
  10. 经典机器学习系列(三)【线性模型与广义线性模型】
  11. 一个在线文字转语音工具
  12. 走出NASA,向大地“下战书”,他要用卫星遥感数据改变中国农业
  13. UESTC 1607 大学生足球联赛 构造、蛇形安排赛程表
  14. Google首页电吉他Doodle源代码
  15. md笔记上传到CSDN---Typora+SMMS+PicGo
  16. 火绒浏览器怎样禁用js进行文件上传漏洞测试
  17. 华为手机一键修改机器码信息
  18. 小时代的成功可复制:郭敬明和他的大数据
  19. Unity3D的Rigidbody类中useGravity、isKinematic和velocity的使用注解
  20. 用python画组合图形的面积_实现五边形面积计算

热门文章

  1. 哪些“双一流”更得华为偏爱?这所高校人数远超清北华五
  2. 数据恢复工具,每秒钟扫描 1000万文件!
  3. 整个领域没了!学术界有史以来最大的丑闻
  4. 42所双一流大学校长情况简介(2019年)
  5. 网络工程师_记录的一些真题_2018上半年上午
  6. 如何在 Python 中开始机器学习?(小白必看)
  7. 理解卷积神经网络的局限
  8. 链表问题6——环形单链表的约瑟夫问题(初阶)
  9. Mysql 索引 事物
  10. 解决.Net Core跨域问题