本页面介绍如何对 Cloud SQL 实例执行以下操作:
- 配置默认用户帐号。
- 创建、删除和更新其他用户帐号。
如需了解用户如何使用 Cloud SQL,请参阅 SQL Server 用户。
准备工作
在完成以下任务之前,请先创建一个 Cloud SQL 实例。如需了解详情,请参阅创建实例。
如果您计划使用数据库的管理客户端来管理用户,必须已在实例上配置默认用户。如需了解详情,请参阅配置默认帐号。
配置默认用户帐号
创建新的 Cloud SQL 实例时,您必须首先配置默认用户帐号,之后才能连接到该实例。
对于 Cloud SQL for SQL Server,默认用户为sqlserver
。
如需配置默认用户,请按如下所述操作:
控制台
- 转到 Google Cloud Console 中的“Cloud SQL 实例”页面。
- 点击实例打开其“概览”页面。
- 从导航菜单中选择用户。
- 找到
sqlserver
用户,然后从“更多操作”菜单中选择更改密码。
- 输入一个您能记住且安全系数高的密码,然后点击确定。
gcloud
为默认用户设置密码:
gcloud sql users set-password sqlserver \ --instance=[INSTANCE_NAME] --prompt-for-password
REST v1beta4
以下请求使用 users:update 方法更新根用户帐号
在使用下面的任何请求数据之前,请先进行以下替换:
- project-id:您的项目 ID
- instance-id:所需的实例 ID
- user-id:用户的 ID
- password:用户的密码
HTTP 方法和网址:
PUT https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id
请求 JSON 正文:
{ "name": "user-id", "password": "password" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#operation", "targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:38:41.217Z", "startTime": "2020-02-07T22:38:41.217Z", "endTime": "2020-02-07T22:38:44.801Z", "operationType": "UPDATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
创建用户
如需创建用户,请按如下所述操作:
控制台
- 转到 Google Cloud Console 中的“Cloud SQL 实例”页面。
- 选择实例以打开其“概览”页面。
- 从导航菜单中选择用户。
- 点击添加用户。
- 在将一个用户帐号添加到实例 instance_name 页面中,添加以下信息:
- 用户名。
- 密码。
主机(可选)。
默认值是“%”,表示主机列表不受限制。您还可以提供 IP 地址或 IP 地址范围,表示只有从这些地址连接的用户才能访问数据库。
- 点击创建。
gcloud
创建用户:
gcloud sql users create [USER_NAME] \ --instance=[INSTANCE_NAME] --password=[PASSWORD]
Cloud SQL 和本地 SQL Server 的用户名长度限制一样。
REST v1beta4
以下请求使用 users:insert 方法创建用户帐号“user_name”。
在使用下面的请求数据之前,请先进行以下替换:
- project-id:您的项目 ID
- instance-id:所需的实例 ID
- user-id:用户的 ID
- password:用户的密码
HTTP 方法和网址:
POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
请求 JSON 正文:
{ "name": "user-id", "password": "password" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#operation", "targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:44:16.656Z", "startTime": "2020-02-07T22:44:16.686Z", "endTime": "2020-02-07T22:44:20.437Z", "operationType": "CREATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Cloud SQL 和本地 SQL Server 的用户名长度限制一样。
更改用户密码
如需更改用户密码,请按如下所述操作:
控制台
- 转到 Google Cloud Console 中的“Cloud SQL 实例”页面。
- 选择实例以打开其“概览”页面。
- 从导航菜单中选择用户。
- 点击要更新的用户对应的“更多操作”菜单
。
- 选择更改密码,指定新密码,然后点击确定。
gcloud
更新密码:
gcloud sql users set-password [USER_NAME] \ --instance=[INSTANCE_NAME] --prompt-for-password
REST v1beta4
以下请求使用 users:update 方法更新用户帐号“user_name”的密码。
在使用下面的任何请求数据之前,请先进行以下替换:
- project-id:您的项目 ID
- instance-id:所需的实例 ID
- user-id:用户的 ID
- password:用户的密码
HTTP 方法和网址:
PUT https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id
请求 JSON 正文:
{ "name": "user-id", "password": "password" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#operation", "targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:38:41.217Z", "startTime": "2020-02-07T22:38:41.217Z", "endTime": "2020-02-07T22:38:44.801Z", "operationType": "UPDATE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
更新用户
如需了解与 SQL Server 中的数据库级角色相关的信息,请参阅 SQL Server 文档中的使用数据库级角色。列出用户
如需列出用户,请按如下所述操作:
控制台
- 转到 Google Cloud Console 中的“Cloud SQL 实例”页面。
- 选择实例以打开其“概览”页面。
- 从导航菜单中选择用户。
gcloud
列出此实例的用户:
gcloud sql users list --instance=[INSTANCE_NAME]
如需查看此命令的完整参数列表,请参阅 gcloud sql users list 参考页面。
REST v1beta4
以下请求使用 users:list 方法列出为实例定义的用户。
在使用下面的请求数据之前,请先进行以下替换:
- project-id:您的项目 ID
- instance-id:所需的实例 ID
HTTP 方法和网址:
GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
如需发送您的请求,请展开以下选项之一:
您应该会收到类似以下内容的 JSON 响应:
{ "kind": "sql#usersList", "items": [ { "kind": "sql#user", "etag": "--redacted--", "name": "sqlserver", "host": "", "instance": "instance-id", "project": "project-id", "sqlserverUserDetails": { "serverRoles": [ "CustomerDbRootRole" ] } }, { "kind": "sql#user", "etag": "--redacted--", "name": "user-id-1", "host": "", "instance": "instance-id", "project": "project-id", "sqlserverUserDetails": { "serverRoles": [ "CustomerDbRootRole" ] } }, { "kind": "sql#user", "etag": "--redacted--", "name": "user-id-2", "host": "", "instance": "instance-id", "project": "project-id", "sqlserverUserDetails": { "serverRoles": [ "CustomerDbRootRole" ] } }, { ... }, { ... } ] }
删除用户
如需删除用户,请按如下所述操作:
在删除用户之前,您必须先放弃该用户拥有的所有对象或重新分配其所有权,并撤消该角色对其他对象拥有的任何特权。
控制台
- 转到 Google Cloud Console 中的“Cloud SQL 实例”页面。
- 选择实例以打开其“概览”页面。
- 从导航菜单中选择用户。
- 点击要删除的用户对应的“更多操作”菜单
。
- 选择删除,然后点击确定。
gcloud
删除用户:
gcloud sql users delete [USER_NAME] --host=[HOST] --instance=[INSTANCE_NAME]
REST v1beta4
以下请求使用 users:delete 方法删除指定的用户帐号。
在使用下面的请求数据之前,请先进行以下替换:
- project-id:您的项目 ID
- instance-id:所需的实例 ID
- user-id:用户的 ID
HTTP 方法和网址:
DELETE https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=&name=user-id
请求 JSON 正文:
{ "name": "user-id", "host": "" }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#operation", "targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "DONE", "user": "user@example.com", "insertTime": "2020-02-07T22:38:41.217Z", "startTime": "2020-02-07T22:38:41.217Z", "endTime": "2020-02-07T22:38:44.801Z", "operationType": "DELETE_USER", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
后续步骤
- 详细了解 Cloud SQL 如何与用户配合运作。