MySQL5.7之后多了一个备份工具:mysqlpump。它是mysqldump的一个衍生,mysqldump就不多说明了,现在看看mysqlpump到底有了哪些提升,可以查看官方文档,这里针对如何使用做下说明。
mysqlpump和mysqldump一样,属于逻辑备份,备份以SQL形式的文本保存。逻辑备份相对物理备份的好处是不关心undo log的大小,直接备份数据即可。它最主要的特点是:
并行备份数据库和数据库中的对象的,加快备份过程。
更好的控制数据库和数据库对象(表,存储过程,用户帐户)的备份。
备份用户账号作为帐户管理语句(CREATE USER,GRANT),而不是直接插入到MySQL的系统数据库。
备份出来直接生成压缩后的备份文件。
备份进度指示(估计值)。
重新加载(还原)备份文件,先建表后插入数据最后建立索引,减少了索引维护开销,加快了还原速度。
备份可以排除或则指定数据库。

重点参数介绍

1. 支持基于表的多线程导出功能(--default-parallelism,默认为2,--parallel-schemas,控制并行导出的库)
2. 导出的时候带有进度条(--watch-progress,默认开启)
3. 支持直接压缩导出导入(参数--compress-output,而且支持ZLIB和LZ4)

--set-gtid-purged=OFF   5.7.18后加入的参数,导入库中重新生产GTID,而不用原来的
5.7.9以后版本 --default-parallelism 多线程才能与--single-transaction合用.
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > aa.sql
备份myttest库下的tt表
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 mytest tt --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/mytest_tt.sql
备份mytest库
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 mytest --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/mytest_fullbak.sql
备份mysql库和mytest库
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --databases mysql mytest --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/mysql_mytest_fullbak.sql
备份所有数据库
mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --all-databases --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/all_fullbak.sql
 

打开general log执行

time /usr/local/mysql/bin/mysqldump -uroot -pmsds007 --single-transaction --master-data=2 -A -S /app/mysqldata/3306/mysql.sock > db3306-`date +%Y%m%d`.sql

time /usr/local/mysql/bin/mysqlpump -S /app/mysqldata/3306/mysql.sock  -uroot -pmsds007 --all-databases --single-transaction --set-gtid-purged=OFF --default-parallelism=4 > /app/mysqldata/backup/all_fullbak.sql

看general log的详细信息

 

原理图

 

mysqlpump原理及实战的更多相关文章

  1. jQuery源码:从原理到实战

    jQuery源码:从原理到实战 jQuery选择器对象 $(".my-class"); document.querySelectorAll*".my-class" ...

  2. Keepalived原理与实战精讲--VRRP协议

    . 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...

  3. Spark MLlib特征处理:OneHotEncoder OneHot编码 ---原理及实战

    http://m.blog.csdn.net/wangpei1949/article/details/53140372 Spark MLlib特征处理:OneHotEncoder OneHot编码 - ...

  4. Istio 流量治理功能原理与实战

    一.负载均衡算法原理与实战 负载均衡算法(load balancing algorithm),定义了几种基本的流量分发方式,在Istio中共有4种标准负载均衡算法. •Round_Robin: 轮询算 ...

  5. Oracle特殊恢复原理与实战(DSI系列)

    1.深入浅出Oracle(DSI系列Ⅰ) 2.Oracle特殊恢复原理与实战(DSI系列Ⅱ) 3.Oracle SQL Tuning(DSI系列Ⅲ)即将开设 4.Oracle DB Performan ...

  6. Java并发编程原理与实战五:创建线程的多种方式

    一.继承Thread类 public class Demo1 extends Thread { public Demo1(String name) { super(name); } @Override ...

  7. Zookeeper原理和实战开发经典视频教程 百度云网盘下载

    Zookeeper原理和实战开发 经典视频教程 百度云网盘下载 资源下载地址:http://pan.baidu.com/s/1o7ZjPeM   密码:r5yf   

  8. Identity Server 4 原理和实战(完结)_汇总贴

    视频地址:https://www.bilibili.com/video/av42364337 语雀地址:https://www.yuque.com/yuejiangliu/dotnet/solenov ...

  9. DNS tunnel的原理及实战

    DNS tunnel的原理及实战 摘自:http://netsec.ccert.edu.cn/zhengming/2011/11/01/%E8%BD%AC%E8%BD%BD%EF%BC%9Adns-t ...

随机推荐

  1. 未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc, Version=11.0.0.0, Culture=neutral, PublicKeyToken...

    刚开始看老师 用VS新建一个“ADO.NET 实体数据模型” 但是一直报错:未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc, Version=11. ...

  2. java试题复盘——9月26日

    5.在 JAVA 编程中, Java 编译器会将 Java 程序转换为(A) A.  字节码 B.  可执行代码 C.  机器代码 D.  以上都不对 解析: 编译器将Java源代码编译成字节码cla ...

  3. layer 漂亮的弹窗

    layer.confirm('<font color="red">请认真核对账目信息,提交后将不可撤回!!</font>', { icon:3, title ...

  4. oracle中查询某个库中所有的表以及所占的表空间大小

    1. 查某一用户下的表select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M' from USER_extents where SEG ...

  5. 关于mysql数据库远程访问

    mysql数据库安装默认为只能本地访问,若需远程连接需根据不同的操作系统做一些操作 Windows: 新装的mysql本地无法登录,显示为1045错误 mysql#1045(1045Access de ...

  6. vmware安装Linux

  7. laydate V5-0-8动态设置min值

    laydate通过设置min,max值来对用户输入的时间做约束 laydate v1.0版本 //日期插件 var start={ elem:"#start", format:&q ...

  8. nodejs连接mongodb(密码)

    const MongoClient = require('mongodb').MongoClient; const url = 'mongodb://user:password@localhost:2 ...

  9. EasyNetQ使用(五)【基于主题的路由,控制队列名称】

    RabbitMQ有一个很酷的功能,基于主题的路由,这个功能允许订阅者基于多个条件去过滤消息.一个主题是由点号分隔的单词列表,随消息一同发布.例如:“stock.usd.nyse” 或 “book.uk ...

  10. 如何解决docker 官方镜像拉取慢的问题

    转自: http://skycity.today/?thread-307.htm 国内从 docker 官方 Registry 拉取 image 慢的解决,步骤如下: 1.注册一个阿里云账号. 2.阿 ...