mysql 8.0数据备份恢复_MySQL 8.0 增强逻辑备份恢复工具介绍-爱可生

作者:杨涛涛

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

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

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

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

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

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

恢复也非常简单:mysql

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

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

其他缺点和 mysqldump 一样。

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

dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例

dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库

load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件

MySQL Shell UTIL 备份恢复工具具备如下特性:

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

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

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

4. 默认 4 个线程导出

5. 默认进度展示

6. 默认字符集 utf8mb4

7. 默认开启一致性导出

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

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

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

1.dump_instance 示例

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

# 备份路径backup_path='/tmp/ytt_backup_instance';

# 备份选项,定义一致性,不包含哪些数据库,线程数等等。backup_options = {"consistent":True,"threads":4,"excludeSchemas":["world","ytt_new","score","query_rewrite"]}

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

Duration: 00:00:35sSchemas dumped: 1Tables dumped: 8Uncompressed data size: 584.89 MBCompressed data size: 12.02 MBCompression ratio: 48.7Rows written: 28000016Bytes written: 12.02 MBAverage uncompressed throughput: 16.49 MB/sAverage compressed throughput: 338.96 KB/s

再来查看备份路径下的文件,

.json 后缀的为元数据文件,比如备份开始时间,备份结束时间,备份的用户,每张表的数据字典等信息。

剩下的即为备份的数据集,默认 ZSTD 压缩。

2.dump_schemas

dump_instance 主要用来备份整个 MySQL 实例,如果只想备份单个数据库,用 dump_schemas 更加简单。

dump_schemas 参数除了要指定具体的数据库名,其余的参数和 dump_instance 一样

# 备份指定的数据库backup_schema = ["ytt"]

# 备份路径backup_path='/tmp/ytt_backup_schemas';

# 备份选项backup_options = {"consistent":True,"threads":4}

以下为 dump_schemas 备份的结果和 dump_instance 一样。

Duration: 00:00:32sSchemas dumped: 1Tables dumped: 8Uncompressed data size: 584.89 MBCompressed data size: 12.02 MBCompression ratio: 48.7Rows written: 28000016Bytes written: 12.02 MBAverage uncompressed throughput: 18.15 MB/sAverage compressed throughput: 373.01 KB/s

3.load_dump

备份好了后,用 load_dump 恢复下数据库 ytt 的备份集,

# 删除原数据库mysql> drop database ytt;Query OK, 8 rows affected (0.27 sec)

# 创建指定数据库ytt.mysql> create database ytt;Query OK, 1 row affected (0.01 sec)

# 用于恢复的备份集目录restore_url = '/tmp/ytt_backup_schemas'

# 恢复选项:是否对恢复的表做样例数据收集,是否延迟建立索引,恢复指定的数据库等。restore_options={"analyzeTables":"on","deferTableIndexes":"all","includeSchemas":["ytt"]}

恢复过程如下:

这里要说明下,load_dump 恢复数据的线程数量取决于之前备份集的线程数量。

恢复信息,由于笔记本虚拟机性能太差,数据仅供参考。

Executing common postamble SQL

40 chunks (28.00M rows, 584.89 MB) for 6 tables in 1 schemas were loaded in 3 min 30 sec (avg throughput 2.79 MB/s)0 warnings were reported during the load.

总结:

本篇介绍了 MySQL 8.0.21 发布的高性能逻辑备份恢复工具,可以完美替换性能低下的传统备份工具 mysqldump 或者 mysqlpump。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 字体竖直居中_问下弹性盒内不知道高度的时候想让字体垂直居中代码要怎么写...

[Asm] 纯文本查看 复制代码自适应圣杯布局* {margin: 0;padding: 0;}body,html {height: 100%;}body {display: flex;flex-direction: column;}.header {width: 100%;flex: 1;background-color: #dcdcdc;}.main {width: 100%;flex: 6;display: flex;}.left-container {flex: 1;…

mysql数据库优化清理_mysql 数据库优化整理

内连接 -- inner join内连接在不加on的情况下, 也是去求笛卡尔乘积. 不加on的用法并不推荐使用, 容易造成内存溢出的情况. 加on的时候, 在连表的时候, 就会对数据进行筛选, 以此来缩减有效数据范围。select * from A inner join B; select * from A,B; //交叉连接 -- 笛卡尔乘…

python38怎么用_Python基础练习实例38(数组操作)

题目:有一个已经排好序的数组。现输入一个数,要求按原来的从小到大顺序将它插入数组中。程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。…

python判断正数和负数教案_正数和负数 教学设计

《正数和负数 教学设计》由会员分享,可在线阅读,更多相关《正数和负数 教学设计(3页珍藏版)》请在人人文库网上搜索。1、1.1 正数与负数第一课时(一)概述课名是正数与负数,是义务教育课程标准实验教科书初中七年级的一堂数学课。本节课所需课…

修改pytho2安装插件的位置_office2016自定义安装以及修改安装位置

一、下载office2016专业增强版ed2k://|file|cn_office_professional_plus_2016_x86_x64_dvd_6969182.iso|2588266496|27EEA4FE4BB13CD0ECCDFC24167F9E01|/复制使用迅雷下载二、office2016部署工具部署工具地址​www.microsoft.com运行部署工具会生成setup.execonfiguration-Off…

vue 获取元素在浏览器的位置_前端开发JS获取页面元素的位置

1.网页的大小和浏览器窗口的大小一张网页的全部面积,就是它的大小。通常情况下,网页的大小由内容和document元素的clientHeight和clientWidth属性,就代表了网页的大小。function getViewport(){if (document.compatMode “BackCompat”){ret…

python 发送邮件不显示附件_python3发送邮件(无附件)

python3发送邮件代码:import smtplibfrom email.mime.text import MIMETextfrom email.utils import formatdate#设置服务器所需信息#163邮箱服务器地址mail_host smtp.163.com#163用户名mail_user h*****163.com#密码mail_pass h****password#邮件发送方邮箱地址…

小说是读者的艺术

小说的处境到了今天这个份上,该让我们的编辑和作家有点悔悟了,那就是光靠玩技巧和语言以及所有的花活唬不了读者,更救不了小说本身。我们知道一种艺术形式的存在很大程度上依赖于它的接受者的存在,所谓皮之不在,毛将存…

stright 在mysql_MySQL优化的奇技淫巧之STRAIGHT_JOIN

最近没怎么搞SQL优化,碰巧数据库被慢查询搞挂了,于是拿来练练手。问题通过「SHOW FULL PROCESSLIST」语句很容易就能查到问题SQL,如下:SELECT post.*FROM postINNER JOIN post_tag ON post.id post_tag.post_idWHERE post.status…

小说不“好看”,读者就给你“好看”

小说的病变和无可救药的衰竭是因为小说不好看 □主 持 人:兴 安 青年作家:丁 天 邱华栋 陆 涛 古清生 小说是什么?是“街谈巷议”———这是我们的老祖宗概括的,就是说它生于民间,是给更多的人看的&#x…

狗肉朋友

想想几年的圣诞聚会,朋友、哥们、同事、陌生人,每一年人走马灯似的变换,有的早在记忆中消失,如过眼烟云.而一直能保留下来的就那么几个朋友。 随着年龄的增长,自己在交往中纳新的能力和兴致越来越低,朋友的圈子越来越小,过去的那种结交天下豪杰的扩张心理没有了,守住故交,守住最…

mysql json坑_使用mysql innodb 使用5.7的json类型遇到的坑和解决办法

----------------------------------------------#查询JSON的某个字段select data -> ‘$.Host‘ from temp#创建虚拟列ALTER TABLE temp ADD host varchar(128) GENERATED ALWAYS AS (json_extract(data,‘$.Host‘)) VIRTUAL;#给虚拟列创建索引ALTER TABLE temp ADD INDEX…

恐怖小说之王——斯蒂芬·金 (转贴)

《宠物公墓》改编自斯蒂芬金的同名小说,在所有斯蒂芬金的恐怖小说里,恐怕就属这一部是最吓人的了。但斯蒂芬金的原著由于篇幅过长,难免有拖沓之感,当被改编成电影时,斯蒂芬金非常有效地压缩了与恐怖无关的枝节&#xf…

买了几张好碟

最喜欢的是《塔尔可夫斯基的全集》。以前有他零散的,几乎全了,可是看到整套的,包装又漂亮,声音又进化了5.1声道,确实没有理由不收啊。 《天下无贼》(正版),《狂蟒之灾2》…

mysql unix_timestamp 格式化_FROM_UNIXTIME 格式化MYSQL时间戳函数_MySQL

unix时间戳bitsCN.com函数:FROM_UNIXTIME作用:将MYSQL中以INT(11)存储的时间以”YYYY-MM-DD”格式来显示。语法:FROM_UNIXTIME(unix_timestamp,format)返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含…

酒喝高了,歌听多了

我常常忘记自己是蒙古人。昨天去了达尔汗蒙古风情餐吧,参加了蒙古的同乡会。AA制。好久没有参加这样的活动了,见到了些老面孔,大多是新面孔。有的胖了,有的老了,有的单身了,有的成双了,有的叫不…

抚摸斯蒂芬·金 (图)

<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />最近翻到一本美国恐怖小说大师斯蒂芬金的自传《抚摸恐怖——我的创作生涯》&#xff0c;珠海出版社2002年5月出版。书中披露了斯蒂芬金很多不为人知的写作经历以及对恐怖小说的看…

mysql设置定位慢查询_mysql优化——定位慢查询

1.定位慢查询1、show status 命令命令使用方式&#xff1a;show [session|global] status like slow_queries如果你不写 [session|global] 默认是session 会话&#xff0c;指取出当前窗口的执行&#xff0c;如果你想看所有(从mysql 启动到现在&#xff0c;则应该 global)执行s…

当我们年轻的时候 (转贴)

当我们年轻的时候 徐坤/文 这是一张十年前的照片。1996 年底&#xff0c;《小说月报》第7届百花奖发奖会在天津蓟县举行。获奖作者与编辑一应到达。左起&#xff1a;徐坤&#xff0c;刘醒龙&#xff0c;毕飞宇&#xff0c;李师东&#xff0c;李敬泽&#xff0c;兴安。 时值隆…

python 对象的异或运算符_python的运算符

算数运算符算数运算符主要用作于计算机的算数运算种类符号作用加法、字符串的拼接-减法*乘法、字符串的重复/除法//地板除(除法)%取余(除法)**幂运算# 数字类型的加法运算print(1 1) # 2print(False 1) # 1print(0j 1) # (10j)# 字…