我想使用 gcloud 导入工具将 mysql 转储文件导入 mysql 数据库实例,但出现错误:
ubuntu@machine:~/sql$ gcloud sql instances import sql-56-test-8ef0cb104575 gs://dbf/bt_ca_dev_tmp-2017-01-19.sql.gz
ERROR: (gcloud.sql.instances.import) HTTPError 403: Insufficient Permission
Run Code Online (Sandbox Code Playgroud)
我缺少什么确切的权限?我可以使用注册的服务帐户创建 sql 实例,但无法导入数据?
小智 6
您的权限有问题
创建一个存储桶(如果没有),运行
`gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]`
Run Code Online (Sandbox Code Playgroud)
描述您要从中导出的 sql 实例并复制 sa
`gcloud sql instances describe [INSTANCE_NAME]`
Run Code Online (Sandbox Code Playgroud)
将服务帐户作为写入者添加到存储桶 ACL
`gsutil acl ch -u [SERVICE_ACCOUNT_ADDRESS]:W gs://[BUCKET_NAME]`
Run Code Online (Sandbox Code Playgroud)
将服务帐户作为读取器添加到导入文件中
`gsutil acl ch -u [SERVICE_ACCOUNT_ADDRESS]:R gs://[BUCKET_NAME]/[IMPORT_FILE_NAME]`
Run Code Online (Sandbox Code Playgroud)
导入文件:
gcloud sql import csv [INSTANCE_NAME] gs://[BUCKET_NAME]/[FILE_NAME] \
--database=[DATABASE_NAME] --table=[TABLE_NAME]
| 归档时间: |
|
| 查看次数: |
4035 次 |
| 最近记录: |