mysql ibbackup_(4.14)mysql备份还原——mysqlpump逻辑备份及ibbackup

【1】mysqlpump介绍与基本使用之前详细介绍了Mysqldump备份工具使用,下面说下MySQL5.7之后新添加的备份工具mysqlpump。mysqlpump是mysqldump的一个衍生,mysqldump备份功能这里就不多说了,现在看看mysqlpump到底有了哪些提升,详细可以查看官网文档。mysqlpump和mysqldump一样,属于逻辑备份,备份以SQL形式的文本保存。逻辑备份...
摘要由CSDN通过智能技术生成

【1】mysqlpump介绍与基本使用

之前详细介绍了Mysqldump备份工具使用,下面说下MySQL5.7之后新添加的备份工具mysqlpump。mysqlpump是mysqldump的一个衍生,mysqldump备份功能这里就不多说了,现在看看mysqlpump到底有了哪些提升,详细可以查看官网文档。mysqlpump和mysqldump一样,属于逻辑备份,备份以SQL形式的文本保存。逻辑备份相对物理备份好处是不关心log的大小,直接备份数据即可。

Mysqlpump主要特点

-  并行备份数据库和数据库中的对象的,加快备份过程。

-  更好的控制数据库和数据库对象(表,存储过程,用户帐户)的备份。

-  备份用户账号作为帐户管理语句(CREATE USER,GRANT),而不是直接插入到MySQL的系统数据库。

-  备份出来直接生成压缩后的备份文件。

-  备份进度指示(估计值)。

-  重新加载(还原)备份文件,先建表后插入数据最后建立索引,减少了索引维护开销,加快了还原速度。

-  备份可以排除或则指定数据库。

优点:

支持基于表的并行导出功能(参数--default-parallelism ,默认为2,参数--parallel-schemas ,控制并行导出的库)

导出的时候带有进度条(参数--watch-progress ,默认开启)

支持直接压缩导出导入(参数--compress-output ,支持ZLIB和LZ4)

重新加载(还原)备份文件,先建表后插入数据最后建立索引,减少了索引维护开销,加快了还原速度。

更好的控制数据库和数据库对象(表,存储过程,用户帐户)的备份。

Mysqlpump缺点

-  只能并行到表级别,如果表特别大,开多线程和单线程是一样的,并行度不如mydumper;

-  无法获取当前备份对应的binlog位置,如果想用这个玩意儿搭建个备库,岂不是奢望?(暂时不支持--master-data,--dump-slave参数了);

-  MySQL5.7.11之前的版本不要使用,并行导出和single-transaction是互斥的;

参数说明:Mysqlpump绝大部分参数使用和Mysqldump一致,下面顺便重温一下。注意对于mysqlpump 专有参数会用背景色标记出来。

1) --add-drop-database:在建立库之前先执行删库操作

2) --add-drop-table:在建表之前先执行删表操作

3) --add-drop-user:在CREATE USER语句之前增加DROP USER。注意:这个参数需要和--users一起使用,否者不生效。

4) --add-locks:备份表时,使用LOCK TABLES和UNLOCK TABLES。注意:这个参数不支持并行备份,需要关闭并行备份功能:--default-parallelism=0

5) --all-databases:备份所有库,即 -A。

6) --bind-address:指定通过哪个网络接口来连接Mysql服务器(一台服务器可能有多个IP),防止同一个网卡出去影响业务。

7) --complete-insert:dump出包含所有列的完整insert语句。

8)--compress: 压缩客户端和服务器传输的所有的数据,即 -C。

9) --compress-output:默认不压缩输出,目前可以使用的压缩算法有LZ4和ZLIB

10) --databases:手动指定要备份的库,支持多个数据库,用空格分隔,即-B。

11) --default-character-set:指定备份的字符集。

12)--default-parallelism:指定并行线程数,默认是2,如果设置成0,表示不使用并行备份。注意:每个线程的备份步骤是:先create table但不建立二级索引(主键会在create table时候建立),再写入数据,最后建立二级索引。

13) --defer-table-indexes:延迟创建索引,直到所有数据都加载完之后,再创建索引,默认开启。若关闭则会和mysqldump一样:先创建一个表和所有索引,再导入数据,因为在加载还原数据的时候要维护二级索引的开销,导致效率比较低。关闭使用参数:--skip--defer-table-indexes。

14) --events:备份数据库的事件,默认开启,关闭使用--skip-events参数。

15)--exclude-databases:备份排除该参数指定的数据库,多个用逗号分隔。类似的还有--exclude-events、--exclude-routines、--exclude-tables、--exclude-triggers、--exclude-users

注意:要是只备份数据库的账号,需要添加参数--users,并且需要过滤掉所有的数据库,如

16)--include-databases:指定备份数据库,多个用逗号分隔,类似的还有--include-events、--include-routines、--include-tables、--include-triggers、--include-users,大致方法使用同15。

17) --insert-ignore:备份用insert ignore语句代替insert语句。

18) --log-error-file:备份出现的warnings和erros信息输出到一个指定的文件。

19) --max-allowed-packet:备份时用于client/server直接通信的最大buffer包的大小。

20) --net-buffer-length:备份时用于client/server通信的初始buffer大小,当创建多行插入语句的时候,mysqlpump 创建行到N个字节长。

21)--no-create-db:备份不写CREATE DATABASE语句。要是备份多个库,需要使用参数-B,而使用-B的时候会出现create database语句,该参数可以屏蔽create database 语句。

22) --no-create-info:备份不写建表语句,即不备份表结构,只备份数据,即 -t。

23) --hex-blob: 备份binary字段的时候使用十六进制计数法,受影响的字段类型有BINARY、VARBINARY、BLOB、BIT。

24) --host :备份指定的数据库地址,即 -h。

25) --parallel-schemas=[N:]db_list:指定并行备份的库,多个库用逗号分隔,如果指定了N,将使用N个线程的地队列,如果N不指定,将由 --default-parallelism才确认N的值,可以设置多个--parallel-schemas

26) --password:备份需要的密码。

27) --port:备份数据库的端口。

28) --protocol={TCP|SOCKET|PIPE|MEMORY}:指定连接服务器的协议。

29) --replace:备份出来replace into语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值