【发布时间】:2018-11-22 11:55:08
【问题描述】:
我已成功导出MySQL Export Guide 之后的 MySQL 数据库。
现在,我正在尝试按照MySQL Import Guide 导入 MySQL 数据库。
我已经检查了我正在使用的 service_account_email 的权限,并且我已经允许了 Admin SQL 和 Admin Storage 权限。
我能够在本地使用此命令成功激活我的服务帐户:
gcloud auth activate-service-account <service_account_email> --key-file=<service_account_json_file>
我运行命令后:
gcloud sql import sql <instance> <gstorage_file> --database=<db_name> --async
我得到了这个信息:
{
"error": {
"errors": Array[1][
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
我尝试过的其他事情
我还尝试使用我的 SQL 实例的 service_account_email,它来自:
gcloud sql instances describe <instance_name>
但是,它似乎有同样的错误。
问题
根据我收到的 REST API JSON 错误,我如何使用service_account_email“登录”,这样我就不会得到401 Error?
【问题讨论】:
-
一些问题:你在同一个项目中有CloudSQL和GCS吗?您有第二代实例吗?如果都是肯定的,您是否提供了您发布的手册第 6 步(将服务帐户作为写入器添加到存储桶 ACL)和第 7 步(将服务帐户作为读取器添加到导入文件)中提到的权限?
-
是的,我在同一个项目中有 CloudSQL 和 GCStorage。我的 MySQL 实例是第二代实例。我已成功将我的服务帐户添加为作者和读者(遵循 MySQL 导入指南)。
标签: google-cloud-platform google-cloud-storage google-cloud-sql user-permissions service-accounts