首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Cloud SQL从存储桶导入:错误403

Google Cloud SQL从存储桶导入:错误403
EN

Stack Overflow用户
提问于 2020-03-05 17:57:12
回答 1查看 653关注 0票数 1

我想要将sql数据导入到我的云SQL数据库(名为db2)中。因此,我上传了一个sql文件到我的存储桶中。然后我转到我的Cloud SQL数据库,点击"connect with Cloud Shell“。当尝试通过CloudShell导入时,我得到:

代码语言:javascript
复制
info@cloudshell:~ (servers)$ gcloud sql import sql db2 gs://mybucket/db.sql
Data from [gs://mybucket/db.sql] will be imported to [db2].
Do you want to continue (Y/n)?  Y
ERROR: (gcloud.sql.import.sql) HTTPError 403: The service account does not have the required permissions for the bucket.

我遵循了这里给出的解决方案:https://stackoverflow.com/a/53608811/2795648,但这对我不起作用。

我的云SQL数据库的服务账号拥有我可以授予的对存储桶和文件的所有权限(不是必须的)。

添加了一些额外的信息。以下是服务帐户的权限:

代码语言:javascript
复制
- members:
  - serviceAccount:p3998516xxxxx-p9q5dn@gcp-sa-cloud-sql.iam.gserviceaccount.com
  role: roles/storage.admin
- members:
  - serviceAccount:p3998516xxxxx-p9q5dn@gcp-sa-cloud-sql.iam.gserviceaccount.com
  role: roles/storage.objectAdmin
- members:
  - serviceAccount:p3998516xxxxx-p9q5dn@gcp-sa-cloud-sql.iam.gserviceaccount.com
  role: roles/storage.objectCreator
- members:
  - serviceAccount:p3998516xxxxx-p9q5dn@gcp-sa-cloud-sql.iam.gserviceaccount.com
  role: roles/storage.objectViewer
- members:
  - serviceAccount:p3998516xxxxx-p9q5dn@gcp-sa-cloud-sql.iam.gserviceaccount.com
  role: roles/storagetransfer.admin
- members:
  - serviceAccount:p3998516xxxxx-p9q5dn@gcp-sa-cloud-sql.iam.gserviceaccount.com
  role: roles/storagetransfer.user
- members:
  - serviceAccount:p3998516xxxxx-p9q5dn@gcp-sa-cloud-sql.iam.gserviceaccount.com
  role: roles/storagetransfer.viewer
EN

回答 1

Stack Overflow用户

发布于 2020-03-05 18:19:38

在这里您可以找到有关Importing a SQL dump file的官方文档

请注意:

3.描述您要导入的实例:

代码语言:javascript
复制
gcloud sql instances list    
gcloud sql instances describe [INSTANCE_NAME]

4.复制serviceAccountEmailAddress字段。

代码语言:javascript
复制
gcloud sql instances describe [INSTANCE_NAME] | grep serviceAccountEmailAddress

5.使用gsutil iam将legacyBucketWriter和objectViewer Cloud IAM角色授予存储桶的服务帐户。

代码语言:javascript
复制
gsutil iam ch serviceAccount:your_previous_service_account_step4:legacyBucketWriter,objectViewer gs://ex-bucket

然后尝试导入命令:

代码语言:javascript
复制
gcloud sql import sql [INSTANCE_NAME] gs://[BUCKET_NAME]/[IMPORT_FILE_NAME] \
                        --database=[DATABASE_NAME]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60542565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档