数据转储和MySQL壳Load实用程序在这篇文章中,我将试图掩盖一些转储和MySQL壳提供的数据加载工具。

MySQL壳是什么?

它是一个可靠的客户并为MySQL代码编辑器。除了api来处理MySQL, MySQL Shell提供了JavaScript和Python的脚本功能。它提供了一个AdminAPI管理MySQL服务器创建InnoDB集群和ReplicaSet部署。它支持X DevAPI SQL和NoSQL工作通过X协议接口。最后,它提供了实用程序使在Python中使用MySQL和Javascript模式更容易。

现在,让我们进入一些实用的东西,看看这些工具为我们提供什么。

转储工具

转储的效用,有三个工具:util.dumpInstance (), util.dumpSchemas(),和实效。dumpTables()让我们逐个讨论。

1。“util.dumpInstance()”——这是介绍了MySQL壳牌8.0.21和支持所有数据库的导出扣除information_schema, MySQL, ndbinfo, performance_schema,系统模式。可以将备份保存在本地或从MySQL远程Shell实用程序。

执行一个完整的实例转储与“util.dumpInstance ():

通过MySQL)登录到数据库层。

b)做实际的备份之前,我们将首先执行一个dryRun程序,以检查任何潜在的问题或兼容性问题。

输出:

这里,我们没有得到任何问题或警告我们是好来进行实际的备份过程。

c)运行的完整实例备份和保存在目标位置。

输出:

我们已经成功地完成了备份。默认情况下,它采用“4线程”和zstd压缩算法适用于数据库备份。

d)运行实例转储与更高级的选项。

输出:

有各种各样的选择控制,提高转储过程。

2)“实效。转储模式”– This was introduced in MySQL Shell 8.0.21 and supports the export of selected databases either locally or remotely.

执行数据库转储”util.dumpSchemas ()”。在这里我们将特定数据库(sbt)备份。

输出:

3)“实效。转储表”– In MySQL Shell 8.0.22, the table dump utility “util.dumpTables()” was released.

执行选择性表转储。在这里,我们只需要表“sbtest2”从“sbt”数据库转储。

输出:

数据加载工具

到目前为止,我们已经看到了如何使用各种方法来转储。现在我们将演示如何使用一个复位命令恢复相同的各种备份。

效用”util.loadDump()加载转储在MySQL中介绍了壳牌8.0.21。它使表或表的并行加载块在数据加载过程中。

加载使用util.loadDump转储文件()。

)运行一个干燥的运行过程来验证任何兼容性问题或错误之前实际的恢复过程。

输出:

请注意——没有数据加载,它只打印我们在修复过程中任何警告或错误信息。

b)运行数据恢复过程。

输出:

在这里,我们已经成功地完成了恢复过程。

有多种选项来控制,提高数据加载过程。

在云存储备份(GCP和AWS S3)

MySQL壳还提供了远程存储转储的能力在一些S3-compatible云存储,如Amazon S3和谷歌云存储。在这里,我们将讨论如何去做与谷歌云存储和一个Amazon S3环境。

让我们开始通过配置谷歌云存储。

先决条件

  • 在谷歌云存储桶应该存在
  • 访问密钥和秘密文件中定义(“/ home /凭证”)

)运行的完整备份,并把它的GCP桶“ajpxctest”。

输出:

b),使用这些相同的细节,我们将从S3 bucket恢复数据到本地数据库中。

输出:

S3选项:

让我们为Amazon S3配置相同

先决条件

  • AWS S3 bucket应该存在
  • 配置AWS CLI

)现在,我们执行实例备份过程中保持的转储文件”ajtestbkp“S3 bucket。

输出:

b)现在,让我们从S3恢复转储到本地数据库中。

输出:

总结

这些实用程序是一个伟大的除了MySQL壳牌和非常有用的备份/恢复场景的大型表通过使用不同的控制选项。现在,我们可以有更好的处理转储/加载过程通过定义选项,例如线程、最大速度和maxBytesPerTransaction。转储工具都支持(MySQL 5.6, 5.7, 8.0),然而,数据加载,数据库应该是MySQL 5.7或8.0。

订阅
通知的
客人

0评论
内联反馈
查看所有评论