外部存储
TiDB 迁移工具支持以下存储服务:
S3 和 GCS 等云存储有时需要额外的连接配置,你可以为这类配置指定参数。例如:
用 TiDB Lightning 从 S3 导入数据
./tidb-lightning --tidb-port=4000 --pd-urls=127.0.0.1:2379 --backend=local --sorted-kv-dir=/tmp/sorted-kvs \
-d 's3://my-bucket/sql-backup?region=us-west-2'
用 BR 备份到 GCS
./br backup full -u 127.0.0.1:2379 \
-s 'gcs://bucket-name/prefix'
$AWS_ACCESS_KEY_ID
和$AWS_SECRET_ACCESS_KEY
环境变量。- 工具节点上的共享凭证文件,路径由
$AWS_SHARED_CREDENTIALS_FILE
环境变量指定。 - 工具节点上的共享凭证文件,路径为
~/.aws/credentials
。 - 当前 Amazon EC2 容器的 IAM 角色。
- 当前 Amazon ECS 任务的 IAM 角色。
如果没有指定 credentials-file
,迁移工具尝试按照以下顺序从环境中推断出凭证:
- 工具节点上位于
$GOOGLE_APPLICATION_CREDENTIALS
环境变量所指定路径的文件内容。 - 工具节点上位于
~/.config/gcloud/application_default_credentials.json
的文件内容。 - 在 GCE 或 GAE 中运行时,从元数据服务器中获取的凭证。
如果同时指定了 URL 参数和命令行参数,命令行参数会覆盖 URL 参数。
在默认情况下,使用 S3 和 GCS 存储时,BR 会将凭证发送到每个 TiKV 节点,以减少设置的复杂性。
但是,这个操作不适合云端环境,因为每个节点都有自己的角色和权限。在这种情况下,你需要用 --send-credentials-to-tikv=false
(或简写为 -c=0
)来禁止发送凭证:
./br backup full -c=0 -u pd-service:2379 -s 's3://bucket-name/prefix'
使用 SQL 进行备份时,可加上 SEND_CREDENTIALS_TO_TIKV = FALSE
选项: