mysqldump 客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表或装载表的 SQL 语句。mysqldump 目前是 MySQL 中最常用的备份工具。

有 3 种方式来调用 mysqldump:

      shell> mysqldump [options] db_name [tbl_name ...]    #备份单个数据库或者库中部分数据表
      shell> mysqldump [options] --databases db_name ...    #备份指定的一个或者多个数据库
      shell> mysqldump [options] --all-databases        #备份所有数据库

官方文档:https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#mysqldump-performance-options

连接选项:

  -u , --user=name      指定用户名

  -p , --password[=name]   指定密码

  -h , --host=name      指定服务器 IP 或者域名

  -P , --prot=#         指定连接端口

这 4 个选项经常一起配合使用,如果客户端位于服务器上,则通常不需要指定 host。如果不指定端口,那么默认连接到 3306 端口,以下是一个远程客户端连接到服务器的例子:

 mysqldump -h192.168.7.55 -P3306 -uroot -p test > test.txt

输出内容选项:

  --add-drop-database      每个数据库创建语句前加上 DROP DATABASE 语句

  --add-drop-table         在每个表创建语句前加上 DROP TABLE 语句

以上这两个选项可以在导入数据库时不用先手工删除旧的数据库,而是会自动删除,提高导入效率,但是导入前一定要做好备份并且确认旧数据库的确已经可以删除,否则误操作将会造成数据的丢失。在默认情况下,这两个参数都自动加上。

  -n ,  --no-create-db       不包含数据库的创建语句

  -t ,  --no-create-info      不包含数据表的创建语句

  -d ,  --no-data         不包含数据

这 3 个选项分别表示备份文件中不包含数据库的创建语句、不包含数据表的创建语句、不包含数据,在不同的场合下,用户可以根据实际需求来进行选择。

输出格式选项

  --compact 选项使得输出结果简洁,不包括默认选项中的各种注释。

  -c 或者 --complete-insert 选项使得输出文件中的 insert 语句也包括字段名称,默认是不包括字段名称的。

  -T 选项将指定数据表中的数据备份为单纯的数据文本和建表 SQL 两个文件,经常和下面几个选项一起配合使用,将数据导出为指定格式显示。

  -T ,  --tab=name          备份数据和建表语句

  --fields-terminated-by=name      域分隔符

  --fields-enclosed-by=name       域引用符

  --fields-optionally-enclosed-by=name   域可选引用符

  --fields-escaped-by=name        转义字符

导出为

字符集选项:

--default-character-set=name 选项可以设置导出的客户端字符集。

这个选项在导出数据库的时候非常重要,如果客户端字符集和数据库字符集不一致,数据在导出的时候就需要进行字符集转换,将数据库字符集转换为客户端字符集,经过转换后的数据很可能成为乱码或者 ? 等特殊字符,使得备份文件无法恢复。

其他常用选项:

  -F  --flush-logs   #备份前刷新日志

  加上此选项后,备份前将关闭旧日志,生成新日志。使得进行恢复的时候直接从新日志开始重新做,大大方便了恢复过程。

  -l  --lock-tables  #给所有表加读锁

  可以在备份期间使用,使得数据无法被更新,从而使备份的数据保持一致性,可以配合 -F 选项一起使用。

关联表,去除建表语句,锁表问题

 D:\Desktop>mysqldump -h10.70.12. -P3306 -uroot -p -t SAJT_DZFP_PT tbl_ec_document_
item --where="fpqqlsh in (select fpqqlsh from tbl_ec_document t where unix_time
stamp(t.create_date)>unix_timestamp('2016-06-20 15:37:34')") --skip-lock-tables
> shit.sql
Enter password: **********

-t 跳过表相关语句

MySQL--mysqldump(数据导出工具)的更多相关文章

  1. MySQL mysqldump数据导出详解

    介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具:它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明 ...

  2. MySQL mysqldump数据导出详解 --dump-slave 注意事项

    http://www.cnblogs.com/chenmh/p/5300370.html 介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工 ...

  3. MySQL mysqldump数据导出基本操作

    mysqldump mysqldump命令是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中. 选项 --all-databases, -A:导 ...

  4. mysql 开发进阶篇系列 35 工具篇 mysqldump(数据导出工具)

    一.概述 mysqldump客户端工具是用来备份数据库或在不同数据库之间进行数据迁移.备份内容包含创建表或装载表的sql语句.mysqldump目前是mysql中最常用的备份工具. 三种方式来调用my ...

  5. DB数据导出工具分享

    一个根据数据库链接字符串,sql语句 即可将结果集导出到Excel的工具 分享,支持sqlserver,mysql. 前因 一个月前朋友找到我,让我帮忙做一个根据sql导出查询结果到Excel的工具( ...

  6. mysql的数据导出方法

    mysql的数据导出几种方法   从网上找到一些问题是关于如何从MySQL中导出数据,以便用在本地或其它的数据库系统之上:以及 将现有数据导入MySQL数据库中. 数据导出 数据导出主要有以下几种方法 ...

  7. oracle数据导出工具sqluldr2

    oracle数据导出工具sqluldr2可以将数据以csv.txt等格式导出,适用于大批量数据的导出,导出速度非常快.导出后可以使用oracle loader工具将数据导入.下载完sqluldr2,工 ...

  8. 把mysql的数据导出成txt

    把mysql的数据导出成txt select a from b into outfile '/sqlfile/a.txt'; my.ini里需要设置secure_file_priv = d:/sqlf ...

  9. python打造漏洞数据导出工具

    功能 [x] 支持导出的数据:IP地址.漏洞名称.风险等级.整改建议.漏洞描述.漏洞CVE编号.漏洞对应端口.漏洞对应协议.漏洞对应服务等. [x] 导出不同端口的同一个漏洞,也就是一个端口对应一个漏 ...

  10. MySQL mysqldump 数据备份

    1.mysqldump 命令工具说明 参数注解: mysqldump 是采用SQL 级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备 ...

随机推荐

  1. Linux每日一练20200219

  2. PHP操作MYSQL数据库(10.11 第十九天)

    一.连接及断开数据库 1.使用mysqli 扩展(推荐),只针对mysql数据库 面向对象的方式 $con = new mysqli(ip,user,password); if($con->co ...

  3. 每天一点点之vue框架开发 - vue 动态替换路由(地址栏)参数

    import merge from 'webpack-merge': // 修改原有参数 this.$router.push({ query:merge(this.$route.query,{'max ...

  4. POJ 2521:How much did the businessman lose

    How much did the businessman lose Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9965 ...

  5. 国内OLED产业与三星到底是差之千里还是近在咫尺?

    此前,市面上几乎大部分智能手机搭载的刘海屏,都是来自三星的AMOLED屏幕.虽然三星总是被诟病为中国手机厂商提供的是"次品",不过没办法,OLED屏幕的核心技术.产能等都掌握在三星 ...

  6. 2 ~ express ~ 模板引擎的配置与使用

    一,创建应用 (一),创建应用,监听端口 var express = require('express') // 创建app应用 var app = express() app.listen(3000 ...

  7. JAVAEE 和项目开发(第六课:服务器的安装和目录介绍和闪退解决办法)

    课程介绍: 在学习了 HTTP 协议后,我们对浏览器和服务器的交互流程以及规范有了一定程度的认知,并也有了自己的理解.但是不少同学对服务器的概念还是有些模糊的,那么本节课就针对服务器进行介绍,我们一起 ...

  8. C语言编程实现SYN-Flood(Dos)攻击

    ## 实验环境为了方便,直接在win10 VS2013Ultimate实现(攻击机),靶机为同一局域网的另外一台主机或外网服务器.   ## 实验依赖基于WinPcap实现,需要安装WinPcap4. ...

  9. Android进阶——多线程系列之异步任务AsyncTask的使用与源码分析

    AsyncTask是一种轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并主线程中更新UI,通过AsyncTask可以更加方便执行后台任务以及在主线程中访问UI ...

  10. C++中的string详解

    标准库类型string表示可变长的字符序列,为了在程序中使用string类型,我们必须包含头文件: #include <string>  声明一个字符串 声明一个字符串有很多种方式,具体如 ...