将数据导入数据库

您可以将现有数据集从现有的Redis服务器或RDB文件导入到您的Redis Cloud实例中。

注意:
过期的键不会被导入。 因此,导入完成后,源数据库和目标数据库中的键数量可能会有所不同。

先决条件

在准备过程中,请确保源数据库的Redis版本与数据将要导入的数据库兼容。

从Redis服务器导入

从任何公开可用的Redis服务器导入数据集:

  1. 从 Redis Cloud 控制台菜单中选择 Databases,然后从数据库列表中选择目标数据库。
  2. 危险区域中,选择导入
  3. Enter the source database details:
    • 源类型 - 选择 Redis
    • Redis 主机名/IP 地址 - 输入源 Redis 服务器的主机名或公共 IP 地址。
    • Redis 端口 - 如果源 Redis 服务器的端口不是默认值 6379,请输入该端口。
    • 密码 - 如果源Redis数据库需要,请输入密码。
  4. 选择导入

从RDB文件恢复

如果您有来自先前备份的RDB或压缩RDB文件,您可以将该文件中的数据恢复到您的Redis Cloud数据库中。

通过FTP或HTTP

要导入存储在FTP或HTTP服务器上的RDB文件:

  1. 从 Redis Cloud 控制台菜单中选择 Databases,然后从列表中选择您的数据库。

  2. 危险区域中,选择导入

  3. 输入RDB文件的详细信息:

    • 源类型 - 选择 FTPHTTP
    • 源路径 - 输入RDB文件的URL:://[username][:password]@hostname[:port]/[path/]filename.rdb[.gz]

    其中:

    • protocol - 服务器协议: ftp, ftps, http, https
    • username - 您的用户名,如果需要
    • password - 您的密码,如果需要
    • hostname - 服务器的主机名或IP地址
    • port - 服务器的端口号,如果不是6379
    • path - 文件的路径,如果需要的话
    • filename - RDB文件的文件名,如果文件被压缩,则包括.gz后缀
    注意:
    如果您的FTP用户名或密码包含特殊字符,例如@\:,您必须对这些特殊字符进行URL编码(也称为百分比编码)。如果不这样做,您的数据库可能会卡住。
  4. 对于具有多个RDB文件的分片数据库,选择添加源以添加另一个RDB文件。

  5. 选择导入

通过 AWS S3

要使用Redis Cloud控制台导入您的数据,您必须首先从亚马逊网络服务(AWS)管理控制台共享文件。

要共享和导入存储在AWS简单存储服务(S3)存储桶中的RDB文件:

  1. AWS Management Console中,配置存储桶的bucket policy以授予Redis Cloud访问权限:

    1. 使用服务菜单来定位并选择存储 > S3。这将带您进入Amazon S3管理面板。

    2. 使用Buckets列表来定位并选择您的存储桶。当设置出现时,选择Permissions标签,找到Bucket policy部分,然后点击Edit

      • 如果没有现有的存储桶策略,请添加以下JSON存储桶策略。将UNIQUE-BUCKET-NAME替换为您的存储桶名称。

        {
            "Version": "2012-10-17",
            "Id": "MyBucketPolicy",
            "Statement": [
                {
                    "Sid": "RedisCloudBackupsAccess",
                    "Effect": "Allow",
                    "Principal": {
                        "AWS": "arn:aws:iam::168085023892:root"
                    },
                    "Action": [
                        "s3:PutObject",
                        "s3:getObject",
                        "s3:DeleteObject"
                    ],
                    "Resource": "arn:aws:s3:::UNIQUE-BUCKET-NAME/*"
                }
            ]
        }
        
      • 如果存储桶策略已经存在,请将以下JSON策略声明添加到声明列表中。将UNIQUE-BUCKET-NAME替换为您的存储桶名称。

        {
            "Sid": "RedisCloudBackupsAccess",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::168085023892:root"
            },
            "Action": [
                "s3:PutObject",
                "s3:getObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::UNIQUE-BUCKET-NAME/*"
        }
        
    3. 保存您的更改。

    4. 如果存储桶使用SSE-KMS加密,请将以下语句添加到您的密钥策略中。如果您没有密钥策略,请参阅创建密钥策略。将UNIQUE-BUCKET-NAME替换为您的存储桶名称,并将CUSTOM-KEY-ARN替换为您的密钥的Amazon资源名称(ARN)

      {
          "Sid": "Allow use of the key",
          "Effect": "Allow",
          "Principal": {
              "AWS": "arn:aws:iam::168085023892:root"
          },
          "Action": [
              "kms:Encrypt",
              "kms:Decrypt",
              "kms:ReEncrypt*",
              "kms:GenerateDataKey*",
              "kms:DescribeKey"
          ],
          "Resource": [
              "arn:aws:s3:::UNIQUE-BUCKET-NAME/*",
              "CUSTOM-KEY-ARN"
          ]
      }
      
  2. Redis Cloud控制台中,从数据库列表中选择目标数据库。

  3. 危险区域中,选择导入

  4. 输入RDB文件的详细信息:

    • 源类型 - 选择 AWS S3

    • 源路径 - 输入RDB文件的URL:s3://bucketname/[path/]filename.rdb[.gz]

      其中:

      • bucketname - S3存储桶的名称
      • path - 文件的路径,如果需要
      • filename - RDB文件的文件名,如果文件被压缩,包括.gz后缀
  5. 对于具有多个RDB文件的分片数据库,选择添加源以添加另一个RDB文件。

  6. 选择导入

通过Google云存储

要使用Redis Cloud控制台导入您的数据,您必须首先从Google Cloud控制台共享文件。

要共享和导入存储在Google Cloud Storage存储桶中的RDB文件:

  1. 在Google Cloud Storage存储桶中,编辑文件的访问控制列表以授予Redis Cloud读取权限:

    1. Select Edit access in the RDB file menu.
    2. Select Add item.
    3. Enter the user details and access:
      • 在新项目的Entity字段中,选择User
      • 在新项目的名称字段中,输入:service@redislabs-prod-clusters.iam.gserviceaccount.com
      • 在新项目的访问字段中,选择Reader
    4. Select Save.

    欲了解更多信息,请参阅设置ACLs

  2. Redis Cloud控制台中,从数据库列表中选择目标数据库。

  3. 危险区域中,选择导入

  4. 输入RDB文件的详细信息:

    • 源类型 - 选择 Google Cloud Storage

    • 源路径 - 输入RDB文件的URL:gs://bucketname/[path/]filename.rdb[.gz]

      其中:

      • bucketname - GCS存储桶的名称
      • path - 文件的路径
      • filename - RDB文件的文件名,如果文件被压缩,则包括.gz后缀
  5. 对于具有多个RDB文件的分片数据库,选择添加源以添加另一个RDB文件。

  6. 选择导入

通过 Azure Blob 存储容器

要导入存储在Microsoft Azure Blob存储容器中的RDB文件:

  1. 在 Redis Cloud 控制台中,从数据库列表中选择目标数据库。

  2. 危险区域中,选择导入

  3. 输入RDB文件的详细信息:

    • 源类型 - 选择 Azure Blob Storage

    • 源路径 - 输入RDB文件的URL:

      abs://:storage_account_access_key@storage_account_name/[container/]filename.rdb[.gz]     
      

      其中:

      • storage_account_access_key - 存储账户的主访问密钥
      • storage_account_name - 存储账户的名称
      • url - 存储账户的URL
      • container - 容器的名称,如果需要
      • filename - RDB文件的文件名,如果文件被压缩则包括.gz后缀
  4. 对于具有多个RDB文件的分片数据库,选择添加源以添加另一个RDB文件。

  5. 选择导入

RATE THIS PAGE
Back to top ↑