数据库

注册

 

发新话题 回复该主题

MySQL80增强逻辑备份恢复工具介绍 [复制链接]

1#
北京白癜风治疗最好医院 http://www.wangbawang.com/

作者:杨涛涛

资深数据库专家,专研MySQL十余年。擅长MySQL、PostgreSQL、MongoDB等开源数据库相关的备份恢复、SQL调优、监控运维、高可用架构设计等。目前任职于爱可生,为各大运营商及银行金融企业提供MySQL相关技术支持、MySQL相关课程培训等工作。

本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

这篇我们来简单介绍下MySQL8.0.21附带的增强版逻辑备份工具。

在介绍这个工具之前,先来回顾下MySQL的逻辑备份工具历史。

1.mysqldump:最早,也是最成熟的逻辑备份工具,是MySQL原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具,上手简单,学习成本几乎为0。备份简单,恢复也简单。

比如导出单个数据库ytt:mysqldumpytt/tmp/ytt.sql;

恢复也非常简单:mysql/tmp/ytt.sql

缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。

2.mysqlpump:MySQL5.7GA后推出的mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。

其他缺点和mysqldump一样。

3.MySQLShellUTIL对象附带的备份工具:随MySQL8.0.21最新版本捆绑发布,自带多线程备份以及多线程恢复功能,可以直接替代mysqldump/mysqlpump。

dump_instance/dumpInstance用来多线程备份MySQL整个单机实例dump_schemas/dumpSchemas用来多线程备份MySQL单个数据库load_dump/loadDump用来多线程恢复之前两个工具导出的数据集文件MySQLShellUTIL备份恢复工具具备如下特性:

1.压缩导出(默认压缩算法zstd)

2.数据集分块导出,每块32M

3.默认导出存储过程、存储函数、触发器、事件、用户、视图

4.默认4个线程导出

5.默认进度展示

6.默认字符集utf8mb4

7.默认开启一致性导出

8.默认表,视图等定义导出为SQL语句

9.默认数据导出为TSV格式数据

接下来,我们来简单演示下MySQLSHELLUTIL备份恢复工具,以下我基于PYTHON语法:

1.dump_instance示例

具体参数:(4个线程同时备份数据库ytt)

#备份路径backup_path=/tmp/ytt_backup_instance;#备份选项,定义一致性,不包含哪些数据库,线程数等等。backup_options={consistentrue,threads:4,excludeSchemas:[world,ytt_new,score,query_rewrite]}

以下为备份结果信息汇总,其中包含备份时间,备份数据集原始大小,压缩后大小,压缩率以及压缩速度等信息。

Duration:00:00:35s

Schemasdumped:1

Tablesdumped

Un

分享 转发
TOP
发新话题 回复该主题