mysql5.7逻辑备份工具mysqlpump

mysqlpump是mysql5.7.8版本后特有的逻辑备份工具,相对于mysqldump和mysqldumper,mysqlpump拥有更多特性,官方文档的描述如下:

mysqlpump features include:
 Parallel processing of databases, and of objects within databases, to speed up the dump process
 Better control over which databases and database objects (tables, stored programs, user accounts)
to dump
 Dumping of user accounts as account-management statements (CREATE USER, GRANT) rather than
as inserts into the mysql system database
 Capability of creating compressed output
 Progress indicator (the values are estimates)
 For dump file reloading, faster secondary index creation for InnoDB tables by adding indexes after rows are inserted

1、支持多进程备份数据库和数据库对象,加快备份进程。

2、有更好的控制策略去备份数据库和数据库对象(表、存储过程、账户)。

3、备份用户通过账户管理SQL(create user,grant)而不再是往mysql系统库插入记录的方式

4、能创建压缩文件

5、显示进度(估算值)

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

为了测试下mysqlpump性能,在自己虚拟机上做了小测试,

测试虚拟机环境:

主机:

CPU:Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz 4核

内存:1G

磁盘:SCSI硬盘 10G

数据库:

版本:5.7.16

用sysbench准备测试数据,以下是测试数据准备脚本:

[[email protected] shell]# cat test_sysbench.sh 
#!/bin/sh
sysbench --test=oltp --mysql-host=192.168.110.100 --mysql-port=3307 --mysql-user=root --mysql-password=root --mysql-db=sbtest2 --oltp-num-tables=4 --oltp-table-size=500000 --report-interval=100  --max-requests=0 --oltp-test-mode=nontrx --oltp-nontrx-mode=select --oltp-read-only=off --max-time=30 --num-threads=16 prepare 
sysbench --test=oltp --mysql-host=192.168.110.100 --mysql-port=3307 --mysql-user=root --mysql-password=root --mysql-db=sbtest3 --oltp-num-tables=4 --oltp-table-size=500000 --report-interval=100  --max-requests=0 --oltp-test-mode=nontrx --oltp-nontrx-mode=select --oltp-read-only=off --max-time=30 --num-threads=16 prepare 
sysbench --test=oltp --mysql-host=192.168.110.100 --mysql-port=3307 --mysql-user=root --mysql-password=root --mysql-db=sbtest4 --oltp-num-tables=4 --oltp-table-size=500000 --report-interval=100  --max-requests=0 --oltp-test-mode=nontrx --oltp-nontrx-mode=select --oltp-read-only=off --max-time=30 --num-threads=16 prepare

测试结果如下:

shell>time mysqlpump -uroot -proot -S /mysqldata/mysql/mysql3307/mysql3307.sock -A --single-transaction --default-parallelism=1 > pump.sql
real    0m46.317s
user    0m13.602s
sys     0m3.949s
shell>time mysqlpump -uroot -proot -S /mysqldata/mysql/mysql3307/mysql3307.sock -A --single-transaction --default-parallelism=2 > pump.sql
real    0m48.707s
user    0m15.087s
sys     0m3.965s
shell>time mysqlpump -uroot -proot -S /mysqldata/mysql/mysql3307/mysql3307.sock -A --single-transaction --default-parallelism=4 > pump.sql
real    0m55.529s
user    0m14.783s
sys     0m4.143s
shell>time mysqldump  -uroot -proot -S /mysqldata/mysql/mysql3307/mysql3307.sock --set-gtid-purged=OFF -A --single-transaction > dump.sql
real    0m57.089s
user    0m8.870s
sys     0m3.441s

从测试结果上可以发现:

1、mysqlpump确实比mysqldump效率高。

2、但是由于测试机磁盘IO有限,导致并发线程数从1提升到2和4的时候,由于IO的瓶颈,备份的时间反而多了。

3、由于测试的库表数据较小,测试数据有所失真,建议准备多几个库和大表的数据进行测试,效果会更明显。

时间: 2024-10-17 17:12:38

mysql5.7逻辑备份工具mysqlpump的相关文章

mysqlpump —mysql5.7官方表级别并发逻辑备份工具

mysqlpump,官方并行逻辑备份工具 mysqlpump features include: Parallel processing of databases, and of objects within databases, to speed up the dump process Better control over which databases and database objects (tables, stored programs, user accounts) to dump

MySQL多线程逻辑备份工具之mydumper

下载安装 yum -y install cmake glib2 pcre pcre-devel mysql-devel wget https://launchpad.net/mydumper/0.6/0.6.2/+download/mydumper-0.6.2.tar.gz tar xf  mydumper-0.6.2.tar.gz cd mydumper-0.6.2 cmake . make && make install 注释:如果只要帮助可以这样编译make doc_html 安装之

mysql逻辑备份与还原工具mysqldump

(一)mysqldump介绍 mysqldump是MySQL自带的逻辑备份工具,类似于Oracle的expdp/impdp,mysqldump备份十分灵活,可以在以下级别对数据库进行备份: 实例下的所有数据库 某个或某几个数据库 某个数据库中的表 某个数据库中的表的某些记录 mysqldump的备份结果集有两种文件:一种是将数据转换为标准的SQL语句,另一种是按照指定的分隔符,输出为特定格式的平面文件. (二)mysqldump的用法 可以直接使用mysqldump命令查看mysqldump的用

MySQL 逻辑备份神器

简介: Mydumper.Myloader 是一个第三方的.开源的 MySQL 逻辑备份工具. 支持多线程,比起 mysqldump 要快很多,也能解决 innobackupex 备份工具对 MyISAM 引擎备份的不便. 多线程快速逻辑备份,支持快照功能. 下载地址:https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz 一.安装 Mydumper shell > yum -y install gcc g

(4.12)mysql备份还原——mysql逻辑备份之mysqldump

关键词:mysql逻辑备份介绍,mysqldump 1.mysql逻辑备份介绍 [1.1]备份内容:数据库的结构定义语句+数据内容的插入语句,备份出来的文件可以编辑 [1.2]使用场景:数据量较少的库,比较适合100G数据量以内的 逻辑备份的特点 (1)sql语句组成的文件,可以编辑截取部分单独使用. (2)备份文件比物理文件小 (3)可以细化到表/表的内容 (4)速度慢 (5)可以跨平台恢复/迁移 2.逻辑备份工具 [1.1]mysqldump(单线程).mysqlpump(多线程,5.7以后

mysql 备份工具简介

mysql自带的: mysqldump:逻辑备份工具,对MySAM可以实现温备,对innodb可以进行热备 mysqlhotcopy:物理备份工具(温备份) 文件系统工具: 比如你在Linux下面的直接使用cp 命令(冷备份),win下面的复制(冷备份) LVM快照功能可以实现几乎热备份 LVM快照备份MyISAM 和innodb引擎的数据时候需要注意: 对MyISAM而言使用LVM快照备份需要在mysql执行sql命令 flush tables:然后LOCK TABLE 然后才能创建快照,创建

MySQL 5.5 备份工具mysqldump

今天就和大家聊聊mysqldump备份工具: mysqldump MySQL数据库自带的一款(逻辑)备份工具: 能够对数据库.表.触发器.存储过程.事件等备份: 备份的文件是可执行的sql语句纯文本文件中. mysqldump engines 对MyISAM存储引擎进行温备,必须加参数--lock-all-tables 对InnoDB存储引擎进行热备,必须加参数--single-transaction mysqldump usage 1.备份单个数据库和单个数据库下的某些表 mysqldump

MySQL5.7.的备份恢复方案。

系统:Centos 7.4 版本:MySQL5.7.24 备份工具:percona xtrabackupd 全量备份 备份命令:innobackupex --defaults-file=$db_cnf --user=$db_user --password=$user_passwd --stream=tar /tmp | gzip >$data_file 恢复命令: service mysql stop #停止服务 mv /data/database /data/database_`data +%

MySQL5.7.18 备份、Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出

粗略介绍冷备,热备,温暖,及Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份 --备份的目的 灾难恢复:意外情况下(如服务器宕机.磁盘损坏等)对损坏的数据进行恢复和还原保证数据不丢失,最小程度地丢失需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 --备份与恢复概述 根据备份的方法可以分为: 1.Hot Backup(热备) 2.Cold Backup(冷备) 3.Warm Backup(温备) Hot Backup是指