将数据导入数据库
您可以导入、导出或备份特定Redis Enterprise Software数据库的文件以恢复数据。您可以从单个文件导入,也可以从多个文件导入,例如当您想要从集群数据库的备份中导入时。
您可以导入、导出或备份特定Redis企业版软件数据库的文件以恢复数据。您可以从单个文件导入,也可以从多个文件导入,例如当您想要从集群数据库的备份中导入时。
将数据导入数据库
使用集群管理器用户界面将数据导入数据库:
-
在数据库屏幕上,从列表中选择数据库,然后选择配置。
-
点击
-
选择导入。
-
选择与您的存储位置类型对应的选项卡并输入位置详细信息。
请参阅支持的存储位置以获取有关每种存储位置类型的更多信息。
-
选择导入。
支持的存储位置
数据可以从本地挂载点导入,使用FTP/SFTP传输到一个URI,或存储在云提供商存储上。
当从本地挂载点或云提供商导入时,导入位置需要对运行Redis Enterprise Software的组和用户可用,默认情况下为redislabs:redislabs
。
Redis企业版软件需要能够查看存储位置中的对象。实现细节根据提供商和您的配置而有所不同。要了解更多信息,请查阅提供商的文档。
以下部分提供了一般指南。由于提供者的功能经常变化,请使用您的提供者的文档以获取最新信息。
FTP 服务器
在从FTP服务器导入数据之前,请确保:
- 您的 Redis Enterprise 集群可以连接并验证到 FTP 服务器。
- 您在FTP服务器位置指定的用户具有从服务器读取文件的权限。
要从FTP服务器导入数据,请使用以下语法设置RDB文件路径:
[protocol]://[username]:[password]@[host]:[port]/[path]/[filename].rdb
其中:
- protocol: 服务器的协议,可以是
ftp
或ftps
。 - username: 如果需要,请输入您的用户名。
- password: 如果需要,请输入您的密码。
- hostname: 服务器的主机名或IP地址。
- port: 服务器的端口号,如果需要的话。
- path: 文件的位置路径。
- filename: 文件的名称。
示例:ftp://username:password@10.1.1.1/home/backups/
选择添加路径以添加另一个导入文件路径。
本地挂载点
在从本地挂载点导入数据之前,请确保:
-
节点可以连接到托管挂载点的服务器。
-
redislabs:redislabs
用户有权读取本地挂载点和目标服务器上的文件。 -
您必须在所有集群节点上挂载相同路径的存储。您也可以使用本地存储,但必须手动将导入的文件复制到所有节点,因为节点上的导入源文件夹不同步。
从本地挂载点导入:
-
在集群中的每个节点上,创建挂载点:
-
连接到节点的终端。
-
将远程存储挂载到本地挂载点。
例如:
sudo mount -t nfs 192.168.10.204:/DataVolume/Public /mnt/Public
-
-
在导入位置的路径中,输入挂载点。
例如:
/mnt/Public/
.rdb
从版本6.2.12开始,Redis Enterprise直接从挂载点读取文件,使用符号链接(symlink),而不是将它们复制到节点上的临时目录。
选择添加路径以添加另一个导入文件路径。
SFTP 服务器
在从SFTP服务器导入数据之前,请确保:
-
您的 Redis Enterprise 集群可以连接并验证到 SFTP 服务器。
-
您在SFTP服务器位置指定的用户具有从服务器读取文件的权限。
-
SSH私钥已正确指定。您可以使用集群生成的密钥或指定自定义密钥。
要使用集群自动生成的密钥:
-
转到集群 > 安全 > 证书。
-
展开集群SSH公钥。
-
将集群SSH公钥下载或复制到SFTP服务器上的适当位置。
使用服务器文档确定SSH公钥的适当位置。
-
要从SFTP服务器导入数据,请以以下格式输入SFTP服务器位置:
[protocol]://[username]:[password]@[host]:[port]/[path]/[filename].rdb
其中:
- protocol: 服务器的协议,可以是
ftp
或ftps
。 - username: 如果需要,请输入您的用户名。
- password: 如果需要,请输入您的密码。
- hostname: 服务器的主机名或IP地址。
- port: 服务器的端口号,如果需要的话。
- path: 文件的位置路径。
- filename: 文件的名称。
示例:sftp://username:password@10.1.1.1/home/backups/[filename].rdb
选择添加路径以添加另一个导入文件路径。
AWS 简单存储服务
在您选择从Amazon Web Services (AWS) 简单存储服务 (S3) 存储桶导入数据之前,请确保您具备以下条件:
- 文件在您的存储桶中的路径格式为:
s3://[bucketname]/[path]/[filename].rdb
- Access key ID and Secret access key 用于具有从存储桶读取文件权限的 IAM 用户。
在Redis企业软件集群管理器UI中,当您输入导出位置详细信息时:
-
选择 AWS S3。
-
在RDB文件路径字段中,输入您的存储桶路径。选择添加路径以添加另一个导入文件路径。
-
在Access key ID字段中,输入访问密钥ID。
-
在Secret access key字段中,输入秘密访问密钥。
您还可以连接到使用S3协议但不由Amazon AWS托管的存储服务。存储服务必须具有有效的SSL证书。要连接到兼容S3的存储位置,请运行rladmin cluster config
:
rladmin cluster config s3_url <URL>
将
替换为S3兼容存储位置的主机名或IP地址。
谷歌云存储
在从Google Cloud存储桶导入数据之前,请确保您已具备以下条件:
- 存储位置路径格式为:
/bucket_name/[path]/[filename].rdb
- 您账户的JSON服务账户密钥
- 一个principal用于您的存储桶,使用服务账户密钥中的
client_email
,以及一个role,该角色具有从存储桶获取文件的权限(例如Storage Legacy Object Reader角色,该角色授予storage.objects.get
权限)
在Redis企业软件集群管理器UI中,当您输入导入位置详细信息时:
-
选择 Google Cloud Storage。
-
在RDB文件路径字段中,输入您的文件路径。选择添加路径以添加另一个导入文件路径。
-
在客户端ID字段中,输入服务账户密钥中的
client_id
。 -
在客户邮箱字段中,输入服务账户密钥中的
client_email
。 -
在私钥ID字段中,输入服务账户密钥中的
private_key_id
。 -
在私钥字段中,输入服务账户密钥中的
private_key
。 将\n
替换为换行符。
Azure Blob 存储
在您选择从Azure Blob Storage导入之前,请确保您已经:
-
存储位置路径格式为:
/container_name/[path/]/
.rdb -
账户名称
-
一个认证令牌,可以是账户密钥或Azure 共享访问签名 (SAS)。
要查找账户名称和账户密钥,请参阅管理存储账户访问密钥。
Azure SAS支持需要Redis软件版本6.0.20。要了解更多关于Azure SAS的信息,请参阅使用共享访问签名授予对Azure存储资源的有限访问权限。
在Redis企业软件集群管理器UI中,当您输入导入位置详细信息时:
-
选择 Azure Blob Storage。
-
在RDB文件路径字段中,输入您的文件路径。选择添加路径以添加另一个导入文件路径。
-
在Azure 账户名称字段中,输入您的存储账户名称。
-
在Azure 账户密钥字段中,输入存储账户密钥。
导入到Active-Active数据库中
将数据导入Active-Active数据库时,有两种选择:
- Flush all data 从 Active-Active 数据库中清除所有数据,然后将数据导入数据库。
- 导入数据但将其合并到现有数据库中。
因为Active-Active数据库具有数字计数器数据类型,当您将导入的数据合并到现有数据中时,RS会根据导入数据中的值增加计数器。通过Redis Enterprise Cluster Manager UI进行的导入会为您处理这些数据类型。
您可以从集群管理器用户界面将数据导入到Active-Active数据库中。 当您将数据导入到Active-Active数据库时,会有一个特殊的提示警告,提示导入的数据将被合并到现有数据库中。