乐趣区

关于数据库:将-AWS-S3-数据迁移至-TiDB-Cloud-集群

一、文档目标

在应用 TiDB Cloud 过程中,通常大家面临的第一个难题便是如何将现有集群的数据导入至 TiDB Cloud 集群中,”很侥幸“地是 TiDB Cloud 上提供了多种形式能够帮忙大家实现这一过程,大家能够自行到官网上查看。本文档提供了将 AWS S3 中数据导入至 TiDB Cloud 集群的操作步骤,供大家参考。

阐明:目前在收费的 TiDB Cloud Dev Tier 集群中,Web 界面导入的数据源仅反对 AWS S3,反对的数据格式有 4 种:TiDB dumping、Aurora Backup Snapshot、CSV 和 Parquet,本次测试模仿将 AWS S3 中 dumpling 格局的数据导入至 TiDB Cloud 集群,其余的数据格式也是相似形式。

二、在 TiDB Cloud 上创立测试集群

1. 抉择收费的“Developer Tier”

2. 创立测试集群

3. 集群创立胜利后,设置本地规范连贯

(1)抉择 Overview -》抉择 Connect -》Standard Connection

(2)增加本地 IP 地址

(3)测试本地连接胜利

三、在 AWS S3 上创立 bucket 并设置权限

1. 在 AWS 中创立 S3 bucket,并上传 dumpling 导出的文件

(1)获取 s3 bucket 的 ARN(arn:aws:s3:::dumplingtest),前面在 AWS IAM 中创立策略会用到(创立 bucket 过程省略)

(2)在 s3 bucket 中上传 dumpling 工具导出的数据文件(过程省略),放到子目录 testdata 下

阐明:测试数据起源为本地集群通过 dumpling 工具导出的 SQL 文件

2. 在 AWS IAM 中创立拜访 S3 桶的 policy

(1)创立策略,编写策略规定

  • 填写 S3 bucket 的 ARN 信息:arn:aws:s3:::dumplingtest
  • 权限 s3.GetObject、s3.GetObjectVersion 和 s3 bucket 中子目录对应
  • 权限 s3.ListBucket、s3.GetBucketLocation 和 s3 bucket 对应
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::dumplingtest/testdata/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::dumplingtest"
        }
    ]
}

(2)策略创立胜利

3. 获取 TiDB Cloud 集群的 Accound id 和 External id

在 TiDB Cloud 集群的 Overview -》Import -》Show AWS IAM policy settings 中获取

TiDB Cloud Account id: 380838443567

TiDB Cloud External id: 696e6672612d6170698cf65cc99da4bea3da7cd6717dd5bbbe

在 AWS IAM 中创立 role 时须要用到

4. 在 AWS IAM 中创立 role

(1)抉择“AWS 账户 ”-》抉择“ 另一个 AWS 账户 ”-》填写 TiDB Cloud Account id -》抉择“ 须要内部 ID” -》填写 TiDB Cloud External ID

(2)抉择之前创立的 Policy,执行下一步

(3)role 创立胜利

(4)获取 role 的 ARN(arn:aws:iam::255548669385:role/Role\_TiDBCloud

四、将 AWS S3 数据导入 TiDB Cloud 集群

1. 将 AWS S3 数据 import 至 TiDB Cloud

(1)填写 S3 bucket 理论子目录的 URL

(2)填写 role 的 ARN

(3)抉择 Data Format 为”TiDB Dumpling“

(4)输出 TiDB Cloud 集群的用户和明码,点击“Import

(5)数据导入过程

(6)数据导入胜利

2. 验证数据

(1)形式一:通过本地客户端

(2)形式二:通过 Web SQL Shell

在 TiDB Cloud 集群的 Overview -》Connect -》Web SQL Shell 中登录

原作者:这道题我不会 公布工夫:2022/3/27
原文链接:https://tidb.io/blog/c74cf5a1

退出移动版