運用內建驗證機制管理使用者

本頁說明如何啟用及使用 Cloud SQL 內建驗證機制。

如需總覽,請參閱「Cloud SQL 內建資料庫驗證機制」。

建立使用者前

  1. 建立 Cloud SQL 執行個體。詳情請參閱「建立執行個體」。
  2. 為執行個體啟用密碼政策。詳情請參閱「執行個體密碼政策」。
  3. 如果您打算使用資料庫的管理用戶端管理使用者,請按照下列步驟操作:

    1. 將用戶端連線至執行個體。 請參閱「外部應用程式的連線選項」。

    2. 設定密碼,在執行個體上設定預設使用者。請參閱「設定預設使用者帳戶的密碼」。

設定預設使用者帳戶的密碼

建立新的 Cloud SQL 執行個體時,必須先設定預設使用者帳戶的密碼,才能連線至執行個體。

若使用 MySQL 適用的 Cloud SQL,預設使用者是 root@%。這表示資料庫使用者具有 root 的使用者名稱,可從任何主機 (@%) 連線。

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在 SQL 導覽選單中選取「使用者」
  4. 找到 root 使用者,然後從更多動作選單 更多動作圖示。 選取「變更密碼」

    請考量密碼的列出規定,這些規定衍生自為執行個體設定的密碼政策

  5. 輸入您記得的高強度密碼,然後按一下「確定」

gcloud

使用 gcloud sql users set-password 指令,為預設使用者設定密碼。

執行指令前,請將 INSTANCE_NAME 替換為執行個體名稱。

gcloud sql users set-password root \
--host=% \
--instance=INSTANCE_NAME \
--prompt-for-password

REST v1

如要更新預設使用者帳戶的密碼,請使用 users:update 方法傳送 PUT 要求。

使用任何要求資料之前,請先修改下列項目的值:

  • project-id:專案 ID
  • instance-id:所需執行個體 ID
  • password:使用者的密碼

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=root&host=%25

JSON 要求主體:

{
  "name": "root",
  "password": "password"
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

如要更新預設使用者帳戶的密碼,請使用 users:update 方法傳送 PUT 要求。

使用任何要求資料之前,請先修改下列項目的值:

  • project-id:專案 ID
  • instance-id:所需執行個體 ID
  • password:使用者的密碼

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=root&host=%25

JSON 要求主體:

{
  "name": "root",
  "password": "password"
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

新增使用者

設定預設使用者帳戶後,即可建立其他使用者。

建立內建使用者時,您可以為使用者指派一或多個資料庫角色。

如要將自訂資料庫角色指派給使用者,請先在 MySQL 資料庫中建立該角色。如要在 MySQL 中建立角色,請參閱「使用角色」。

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在 SQL 導覽選單中選取「使用者」
  4. 按一下「新增使用者帳戶」

    在「Add a user account to instance instance_name」(在執行個體「instance_name」中新增使用者帳戶) 頁面中,您可以選擇使用者要透過內建資料庫方法 (使用者名稱和密碼) 驗證,還是以 IAM 使用者身分驗證。

  5. 選取「內建驗證」 (預設),並新增下列資訊:
    • 「User name」(使用者名稱)
    • 選用。「Password」(密碼)。設定您記得的高強度密碼。
    • 選用。使用者密碼政策
    • 在「主機名稱」部分,預設為「允許任何主機」,表示使用者可以從任何 IP 位址連線。(選用) 選取「依 IP 位址或位址範圍限制主機」,然後在「主機」部分輸入 IP 位址或位址範圍。使用者只能從指定的 IP 位址或位址連線。
  6. 按一下「新增」。

如果您為 MySQL 8.0 以上版本執行個體建立使用內建驗證的使用者,但未指定任何資料庫角色,系統會自動授予使用者 cloudsqlsuperuser 角色。下列權限與 cloudsqlsuperuser 角色相關聯:CREATEROLECREATEDBLOGIN。如要進一步瞭解與 cloudsqlsuperuser 角色相關聯的權限,請參閱「MySQL 8.0 使用者權限 (cloudsqlsuperuser)」和「MySQL 8.4 使用者權限 (cloudsqlsuperuser)」。如要變更使用者的權限,請在 Cloud SQL 中建立使用者時,指派一或多個自訂 MySQL 角色。如果您在 Cloud SQL 中建立使用者時指派一或多個自訂資料庫角色,系統就不會授予該使用者 cloudsqlsuperuser 角色。

如果您為 MySQL 5.7 執行個體建立使用內建驗證的使用者,系統會自動授予該使用者所有權限,但 FILESUPER 除外。如要變更使用者的權限,請在 mysql 用戶端中使用 GRANTREVOKE 指令。

如要進一步瞭解這些使用者帳戶和權限,請參閱「 其他 MySQL 使用者帳戶」。

gcloud

如要建立使用者,請使用 gcloud sql users create 指令。

更改下列內容:

  • USER_NAME:使用者名稱。
  • HOST:使用者的主機名稱,可為特定 IP 位址、位址範圍或任何主機 (%)。
  • INSTANCE_NAME:執行個體的名稱。
  • PASSWORD:使用者的密碼。
  • ROLE_1ROLE_2 ...、ROLE_N: 選用。要指派給使用者的資料庫角色。
gcloud sql users create USER_NAME \
--host=HOST \
--instance=INSTANCE_NAME \
--password=PASSWORD \
--database-roles=ROLE_1, ROLE_2, ..., ROLE_N

如果您為 MySQL 8.0 以上版本執行個體建立使用內建驗證的使用者,但未指定任何資料庫角色,系統會自動授予使用者 cloudsqlsuperuser 角色。下列權限與 cloudsqlsuperuser 角色相關聯:CREATEROLECREATEDBLOGIN。如要進一步瞭解與 cloudsqlsuperuser 角色相關聯的權限,請參閱「MySQL 8.0 使用者權限 (cloudsqlsuperuser)」和「MySQL 8.4 使用者權限 (cloudsqlsuperuser)」。如要變更使用者的權限,請在 Cloud SQL 中建立使用者時,指派一或多個自訂 MySQL 角色。如果您在 Cloud SQL 中建立使用者時指派一或多個自訂資料庫角色,系統就不會授予該使用者 cloudsqlsuperuser 角色。

如果您為 MySQL 5.7 執行個體建立使用內建驗證的使用者,系統會自動授予該使用者所有權限,但 FILESUPER 除外。如要變更使用者的權限,請在 mysql 用戶端中使用 GRANTREVOKE 指令。

如要進一步瞭解這些使用者帳戶和權限,請參閱「 其他 MySQL 使用者帳戶」。

Cloud SQL 的使用者名稱長度限制與地端 MySQL 相同:MySQL 8.0 以上版本為 32 個字元,舊版則為 16 個字元。

建立使用者時,您可以新增使用者密碼政策參數。

Terraform

如要建立使用者,請使用 Terraform 資源

resource "random_password" "pwd" {
  length  = 16
  special = false
}

resource "google_sql_user" "user" {
  name     = "user"
  instance = google_sql_database_instance.default.name
  password = random_password.pwd.result
}

套用變更

如要在 Google Cloud 專案中套用 Terraform 設定,請完成下列各節的步驟。

準備 Cloud Shell

  1. 啟動 Cloud Shell
  2. 設定要套用 Terraform 設定的預設 Google Cloud 專案。

    您只需要為每項專案執行一次這個指令,且可以在任何目錄中執行。

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    如果您在 Terraform 設定檔中設定明確值,環境變數就會遭到覆寫。

準備目錄

每個 Terraform 設定檔都必須有自己的目錄 (也稱為根模組)。

  1. Cloud Shell 中建立目錄,並在該目錄中建立新檔案。檔案名稱的副檔名必須是 .tf,例如 main.tf。在本教學課程中,這個檔案稱為 main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 如果您正在學習教學課程,可以複製每個章節或步驟中的範例程式碼。

    將範例程式碼複製到新建立的 main.tf 中。

    視需要從 GitHub 複製程式碼。如果 Terraform 代码片段是端對端解決方案的一部分,建議您使用這個方法。

  3. 查看並修改範例參數,套用至您的環境。
  4. 儲存變更。
  5. 初始化 Terraform。每個目錄只需執行一次這項操作。
    terraform init

    如要使用最新版 Google 供應商,請加入 -upgrade 選項:

    terraform init -upgrade

套用變更

  1. 檢查設定,確認 Terraform 即將建立或更新的資源符合您的預期:
    terraform plan

    視需要修正設定。

  2. 執行下列指令,並在提示中輸入 yes,套用 Terraform 設定:
    terraform apply

    等待 Terraform 顯示「Apply complete!」訊息。

  3. 開啟 Google Cloud 專案即可查看結果。在 Google Cloud 控制台中,前往 UI 中的資源,確認 Terraform 已建立或更新這些資源。

刪除變更

如要刪除變更,請按照下列步驟操作:

  1. 如要停用防刪除功能,請在 Terraform 設定檔中將 deletion_protection 引數設為 false
    deletion_protection =  "false"
  2. 執行下列指令,並在提示中輸入 yes,套用更新的 Terraform 設定:
    terraform apply
  1. 執行下列指令,並在提示中輸入 yes,即可移除先前透過 Terraform 設定套用的資源:

    terraform destroy

REST v1

如要建立使用者,請使用 POST 要求和 users:insert 方法。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID
  • USER_ID:使用者 ID
  • PASSWORD:使用者的密碼
  • HOST:使用者的主機名稱
  • ROLE_1ROLE_2 ...、ROLE_N: 選用。要指派給使用者的資料庫角色

HTTP 方法和網址:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users

JSON 要求主體:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "host": "HOST",
  "databaseRoles": [
    "ROLE_1",
    "ROLE_2"
  ]
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2025-10-20T22:44:16.656Z",
  "startTime": "2025-10-20T22:44:16.686Z",
  "endTime": "2025-10-20T22:44:20.437Z",
  "operationType": "CREATE_USER",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

如果您為 MySQL 8.0 以上版本執行個體建立使用內建驗證的使用者,但未指定任何資料庫角色,系統會自動授予使用者 cloudsqlsuperuser 角色。下列權限與 cloudsqlsuperuser 角色相關聯:CREATEROLECREATEDBLOGIN。如要進一步瞭解與 cloudsqlsuperuser 角色相關聯的權限,請參閱「MySQL 8.0 使用者權限 (cloudsqlsuperuser)」和「MySQL 8.4 使用者權限 (cloudsqlsuperuser)」。如要變更使用者的權限,請在 Cloud SQL 中建立使用者時,指派一或多個自訂 MySQL 角色。如果您在 Cloud SQL 中建立使用者時指派一或多個自訂資料庫角色,系統就不會授予該使用者 cloudsqlsuperuser 角色。

如果您為 MySQL 5.7 執行個體建立使用內建驗證的使用者,系統會自動授予該使用者所有權限,但 FILESUPER 除外。如要變更使用者的權限,請在 mysql 用戶端中使用 GRANTREVOKE 指令。

如要進一步瞭解這些使用者帳戶和權限,請參閱「 其他 MySQL 使用者帳戶」。

Cloud SQL 的使用者名稱長度限制與地端 MySQL 相同:MySQL 8.0 以上版本為 32 個字元,舊版則為 16 個字元。

建立使用者時,您可以新增使用者密碼政策參數。

REST v1beta4

如要建立使用者,請使用 POST 要求和 users:insert 方法。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID
  • USER_ID:使用者 ID
  • PASSWORD:使用者的密碼
  • HOST:使用者的主機名稱
  • ROLE_1ROLE_2 ...、ROLE_N: 選用。要指派給使用者的資料庫角色

HTTP 方法和網址:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users

JSON 要求主體:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "host": "HOST",
  "databaseRoles": [
    "ROLE_1",
    "ROLE_2"
  ]
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2025-10-20T22:44:16.656Z",
  "startTime": "2025-10-20T22:44:16.686Z",
  "endTime": "2025-10-20T22:44:20.437Z",
  "operationType": "CREATE_USER",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

如果您為 MySQL 8.0 以上版本執行個體建立使用內建驗證的使用者,但未指定任何資料庫角色,系統會自動授予使用者 cloudsqlsuperuser 角色。下列權限與 cloudsqlsuperuser 角色相關聯:CREATEROLECREATEDBLOGIN。如要進一步瞭解與 cloudsqlsuperuser 角色相關聯的權限,請參閱「MySQL 8.0 使用者權限 (cloudsqlsuperuser)」和「MySQL 8.4 使用者權限 (cloudsqlsuperuser)」。如要變更使用者的權限,請在 Cloud SQL 中建立使用者時,指派一或多個自訂 MySQL 角色。如果您在 Cloud SQL 中建立使用者時指派一或多個自訂資料庫角色,系統就不會授予該使用者 cloudsqlsuperuser 角色。

如果您為 MySQL 5.7 執行個體建立使用內建驗證的使用者,系統會自動授予該使用者所有權限,但 FILESUPER 除外。如要變更使用者的權限,請在 mysql 用戶端中使用 GRANTREVOKE 指令。

如要進一步瞭解這些使用者帳戶和權限,請參閱「 其他 MySQL 使用者帳戶」。

Cloud SQL 的使用者名稱長度限制與地端 MySQL 相同:MySQL 8.0 以上版本為 32 個字元,舊版則為 16 個字元。

建立使用者時,您可以新增使用者密碼政策參數。

mysql 用戶端

  1. 如要建立使用者,請在 mysql 提示中,使用下列 CREATE USER 陳述式:
      CREATE USER 'USER_NAME'@'%'
         IDENTIFIED BY 'PASSWORD';
      

    視需要新增使用者密碼政策參數。

  2. 您可以顯示使用者資料表以確認建立使用者:
    SELECT user, host FROM mysql.user;
    如果是第二代執行個體, 輸出內容會與下列範例相似:
    +----------+-----------+
    | user     | host      |
    +----------+-----------+
    | root     | %         |
    | newuser  | %         |
    +----------+-----------+
    1 row in set (0.01 sec)
    
  3. 透過 GRANT 陳述式授予使用者權限。詳情請參閱「MySQL 提供的權限」。
  4. 清除 mysql.user 表格,確保變更會保留:
      FLUSH TABLES mysql.user;

設定使用者密碼政策

您可以使用內建驗證類型設定密碼政策。

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在 SQL 導覽選單中選取「使用者」
  4. 針對要變更政策的使用者,按一下「更多動作」圖示 更多動作圖示。
  5. 選取「編輯密碼政策」
  6. 在「密碼政策」部分中,選取下列一或多個選項:
    • 設定密碼有效期限:指定密碼有效期限的天數,使用者必須在期限過後建立新密碼。
    • 嘗試失敗後鎖定:指定使用者嘗試輸入錯誤密碼的次數上限,一旦超出限制,帳戶就會遭到鎖定。

      僅支援 MySQL 8.0 以上版本的 Cloud SQL。

    • 變更密碼時,必須提供目前的密碼:要求使用者在嘗試變更密碼時輸入現有密碼。

gcloud

如要設定使用者密碼政策,請使用 gcloud sql users set-password-policy 指令。

使用 --password-policy-enable-password-verification 強制使用者在嘗試變更密碼時輸入現有密碼。如要停用這項參數,請使用 --no-password-policy-enable-password-verification

更改下列內容:

  • USER_NAME:使用者名稱。
  • INSTANCE_NAME:執行個體的名稱。
  • HOST:使用者的主機名稱,可以是特定 IP 位址、位址範圍或任何主機 (%)。
  • PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS:選用:使用者輸入密碼錯誤的次數上限,超過這個次數後,帳戶就會遭到鎖定。使用 --password-policy-enable-failed-attempts-check 啟用檢查,並使用 --no-password-policy-enable-failed-attempts-check 停用檢查。
  • PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION:(選用) 指定密碼失效的天數,使用者必須在密碼失效後建立新密碼。
gcloud sql users set-password-policy USER_NAME \
--instance=INSTANCE_NAME \
--host=HOST \
--password-policy-enable-failed-attempts-check \
--password-policy-allowed-failed-attempts=PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS \
--password-policy-password-expiration-duration=PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION \
--password-policy-enable-password-verification

如要移除使用者密碼政策,請使用 --clear-password-policy 參數。

gcloud sql users set-password-policy USER_NAME \
--instance=INSTANCE_NAME \
--host=HOST \
--clear-password-policy

如要查看使用者密碼政策,請參閱「 列出使用者」。

REST v1

如要設定使用者密碼政策,請使用 users:update 方法傳送 PUT 要求。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID
  • USER_ID:使用者 ID
  • PASSWORD:使用者密碼
  • FAILED_ATTEMPTS_CHECK:設為 true,即可啟用檢查,確認登入失敗次數是否達到帳戶鎖定門檻
  • NUMBER_OF_ATTEMPTS:登入失敗次數,超過此次數後帳戶就會遭到鎖定
  • PASSWORD_EXPIRATION_DURATION:密碼到期天數,到期後使用者必須建立新密碼
  • VERIFY_PASSWORD:設為 true,強制使用者在嘗試變更密碼時輸入現有密碼

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID

JSON 要求主體:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "data":
  {
    "passwordValidationUserPolicy" : {
      {
        "enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK",
        "allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS",
        "passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION",
        "enablePasswordVerification" : "VERIFY_PASSWORD"
      }
    },
  }
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

如要查看使用者密碼政策,請參閱「 列出使用者」。

REST v1beta4

如要設定使用者密碼政策,請使用 users:update 方法傳送 PUT 要求。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID
  • USER_ID:使用者 ID
  • PASSWORD:使用者密碼
  • FAILED_ATTEMPTS_CHECK:設為 true,即可啟用檢查,確認登入失敗次數是否達到帳戶鎖定門檻
  • NUMBER_OF_ATTEMPTS:登入失敗次數,超過此次數後帳戶就會遭到鎖定
  • PASSWORD_EXPIRATION_DURATION:密碼到期天數,到期後使用者必須建立新密碼
  • VERIFY_PASSWORD:設為 true,強制使用者在嘗試變更密碼時輸入現有密碼

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID

JSON 要求主體:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "data":
  {
    "passwordValidationUserPolicy" : {
      {
        "enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK",
        "allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS",
        "passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION",
        "enablePasswordVerification" : "VERIFY_PASSWORD"
      }
    },
  }
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

如要查看使用者密碼政策,請參閱「 列出使用者」。

mysql 用戶端

如要設定使用者密碼政策,請在 mysql 提示中,使用下列 ALTER USER 陳述式:

ALTER USER USER_NAME
    FAILED_LOGIN_ATTEMPTS ALLOWED_FAILED_ATTEMPTS
    PASSWORD EXPIRE INTERVAL PASSWORD_EXPIRATION_DURATION DAY
    PASSWORD REQUIRE CURRENT;

更改下列內容:

  • USER_NAME:使用者名稱。
  • ALLOWED_FAILED_ATTEMPTS:選用:使用者輸入密碼錯誤的次數上限,超過這個次數後,帳戶就會遭到鎖定。
  • PASSWORD_EXPIRATION_DURATION:(選用) 指定密碼失效的天數,使用者必須在密碼失效後建立新密碼。

使用 PASSWORD REQUIRE CURRENT 選項,強制使用者在嘗試變更密碼時輸入現有密碼。

如要查看使用者密碼政策,請參閱「列出使用者」。

列出使用者

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在 SQL 導覽選單中選取「使用者」

    清單會顯示每位使用者的 User nameHost nameAuthentication 類型。

    此外,如果是內建驗證類型,系統也會顯示 Password status

gcloud

使用 gcloud sql users list 指令列出這個執行個體的使用者:

gcloud sql users list \
--instance=INSTANCE_NAME

這項指令會傳回每位使用者的 NameHost 和驗證 Type

此外,如果是內建驗證類型,系統會傳回密碼政策設定和狀態。例如:

    NAME    HOST    TYPE        PASSWORD_POLICY
    user1           BUILT_IN    {'allowedFailedAttempts': 2,
                                 'enableFailedAttemptsCheck': True,
                                 'passwordExpirationDuration': '7d',
                                 'status': {
                                   'locked': True,
                                   'passwordExpirationTime': '2022-07-01T19:53:45.822742904Z'
                                 }
                                }
   

REST v1

如要列出為執行個體定義的使用者,請使用 GET 要求和 users:list 方法。

使用任何要求資料之前,請先修改下列項目的值:

  • project-id:專案 ID
  • instance-id:所需執行個體 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/v1/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"
        ]
      }
    },
    {
      ...
    },
    {
      ...
    }
  ]
}

如果已設定使用者密碼政策,回應的 items 區段會包含 passwordPolicy 區段。以下程式碼範例顯示 passwordPolicy 區段。

  {
  ...
  "passwordValidationUserPolicy" : {
    {
      "enableFailedAttemptsCheck" : true,
      "allowedFailedAttempts" : 8,
      "passwordExpirationDuration" : "7d",
      "enablePasswordVerification" : true
    }
  },
  ...
}
  

REST v1beta4

如要列出為執行個體定義的使用者,請使用 GET 要求和 users:list 方法。

使用任何要求資料之前,請先修改下列項目的值:

  • project-id:專案 ID
  • instance-id:所需執行個體 ID

HTTP 方法和網址:

GET https://sqladmin.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"
        ]
      }
    },
    {
      ...
    },
    {
      ...
    }
  ]
}

如果已設定使用者密碼政策,回應的 items 區段會包含 passwordPolicy 區段。以下程式碼範例顯示 passwordPolicy 區段。

  {
  ...
  "passwordValidationUserPolicy" : {
    {
      "enableFailedAttemptsCheck" : true,
      "allowedFailedAttempts" : 8,
      "passwordExpirationDuration" : "7d",
      "enablePasswordVerification" : true
    }
  },
  ...
}
  

mysql 用戶端

如要列出 MySQL 使用者,請在 mysql 提示中,使用下列 SELECT 陳述式:

SELECT user, host FROM mysql.user;

如果第二代執行個體只設定了 root 使用者帳戶, 輸出內容會類似於這個範例:

+------+-----------+
| user | host      |
+------+-----------+
| root | %         |
+------+-----------+
1 row in set (0.01 sec)

這個範例顯示執行個體的使用者,其中包含 root 使用者。這個使用者可以從任何主機連線 (%)。密碼欄位會顯示密碼的雜湊值。

為現有使用者新增資料庫角色

建立內建使用者後,您可以為該使用者指派其他角色。 這些角色會新增至現有角色,不會取代指派給使用者帳戶的現有角色組合。

如要在 MySQL 適用的 Cloud SQL 中指派角色給使用者,必須先建立該角色。如要指派自訂角色,請先在 MySQL 資料庫中建立角色。

如要在 MySQL 中建立角色,請參閱「使用角色」。

您無法將角色指派給執行個體上的任何 MySQL 系統使用者

您可以將cloudsqlsuperuser系統角色指派給執行個體中的現有 MySQL 使用者。

gcloud

如要為使用者指派角色,請使用 gcloud sql users assign-roles 指令。

gcloud sql users assign-roles USER_NAME \
--host=HOST \
--instance=INSTANCE_NAME \
--type=BUILT-IN \
--database-roles=ROLE_1, ROLE_2, ..., ROLE_N

更改下列內容:

  • USER_NAME:使用者名稱。
  • HOST:使用者的主機名稱,可為特定 IP 位址、位址範圍或任何主機 (%)。
  • INSTANCE_NAME:執行個體的名稱。
  • ROLE_1ROLE_2、...、ROLE_N: 要指派給使用者的資料庫角色。

REST v1

如要更新使用者,請使用 users:update 方法傳送 PUT 要求。

指派資料庫角色時,您無法在同一個 API 要求中更新密碼政策參數。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:所需執行個體 ID
  • USER_ID:使用者 ID
  • ROLE_1ROLE_2 ... ROLE_N: 要指派給使用者的資料庫角色

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users

JSON 要求主體:

{
  "name": "USER_ID",
  "type": "BUILT-IN",
  "databaseRoles": [
   "ROLE_1",
   "ROLE_2"
  ]
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2025-10-20T22:44:16.656Z",
  "startTime": "2025-10-20T22:44:16.686Z",
  "endTime": "2025-10-20T22:44:20.437Z",
  "operationType": "UPDATE_USER",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

如要更新使用者,請使用 users:update 方法傳送 PUT 要求。

指派資料庫角色時,您無法在同一個 API 要求中更新密碼政策參數。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:所需執行個體 ID
  • USER_ID:使用者 ID
  • ROLE_1ROLE_2、...、ROLE_N: 要指派給使用者的資料庫角色

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users

JSON 要求主體:

{
  "name": "USER_ID",
  "type": "BUILT-IN",
  "databaseRoles": [
   "ROLE_1",
   "ROLE_2"
  ]
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2025-10-20T22:44:16.656Z",
  "startTime": "2025-10-20T22:44:16.686Z",
  "endTime": "2025-10-20T22:44:20.437Z",
  "operationType": "UPDATE_USER",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

取代現有使用者的資料庫角色

如要取代或移除使用者的資料庫角色,您必須撤銷所有現有角色,並指定新的資料庫角色 (如有)。

在預設情況下,您建立內建 MySQL 使用者時,系統會自動授予該使用者 cloudsqlsuperuser 角色。如要移除使用者的 cloudsqlsuperuser 角色,請撤銷使用者現有的角色。

gcloud

如要取代使用者的資料庫角色,請撤銷使用者現有的角色,然後指派新角色。如要取代使用者的資料庫角色,請使用下列 gcloud sql users assign-roles 指令。

gcloud sql users assign-roles USER_NAME \
--host=HOST \
--instance=INSTANCE_NAME \
--database-roles=ROLE_1,ROLE_2 \
--revoke-existing-roles

更改下列內容:

  • USER_NAME:使用者名稱。
  • HOST:使用者的主機名稱,可為特定 IP 位址、位址範圍或任何主機 (%)。
  • INSTANCE_NAME:執行個體的名稱。
  • ROLE_1ROLE_2: 要指派給使用者的資料庫角色。

您也可以撤銷使用者的現有角色,並指派零個角色。 例如:

gcloud sql users assign-roles USER_NAME \
--host=HOST \
--instance=INSTANCE_NAME \
--database-roles= \
--revoke-existing-roles

REST v1

如要更新使用者,請使用 users:update 方法傳送 PUT 要求。

取代使用者的資料庫角色時,您無法在同一個 API 要求中更新密碼政策參數。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:所需執行個體 ID
  • USER_ID:使用者 ID
  • ROLE_1ROLE_2...、ROLE_N:要指派給使用者的資料庫角色。您也可以指定空白清單。

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users

JSON 要求主體:

{
  "name": "USER_ID",
  "type": "BUILT-IN",
  "databaseRoles": [
   "ROLE_1",
   "ROLE_2"
  ],
  "revokeExistingRoles": true
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2025-10-20T22:44:16.656Z",
  "startTime": "2025-10-20T22:44:16.686Z",
  "endTime": "2025-10-20T22:44:20.437Z",
  "operationType": "UPDATE_USER",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

如要更新使用者,請使用 users:update 方法傳送 PUT 要求。

取代使用者的資料庫角色時,您無法在同一個 API 要求中更新密碼政策參數。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:所需執行個體 ID
  • USER_ID:使用者 ID
  • ROLE_1ROLE_2、...、ROLE_N:要指派給使用者的資料庫角色。您也可以指定空白清單。

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users

JSON 要求主體:

{
  "name": "USER_ID",
  "type": "BUILT-IN",
  "databaseRoles": [
   "ROLE_1",
   "ROLE_2"
  ],
  "revokeExistingRoles": true
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2025-10-20T22:44:16.656Z",
  "startTime": "2025-10-20T22:44:16.686Z",
  "endTime": "2025-10-20T22:44:20.437Z",
  "operationType": "UPDATE_USER",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

變更使用者密碼

您可以透過下列其中一種方式變更使用者密碼。

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在 SQL 導覽選單中選取「使用者」
  4. 針對要更新的使用者,按一下「更多動作」圖示 更多動作圖示。
  5. 選取「變更密碼」
  6. 指定新密碼。

    此外,如要繼續使用舊密碼,請選取「保留目前密碼」核取方塊。

  7. 按一下「確定」

gcloud

使用 gcloud sql users set-password 指令變更密碼。

更改下列內容:

  • USER_NAME:使用者名稱。
  • HOST:使用者的主機名稱,可以是特定 IP 位址、位址範圍或任何主機 (%)。
  • INSTANCE_NAME:執行個體的名稱。
  • PASSWORD:密碼。如果已設定密碼政策,密碼必須符合相關規定。

(選用) 如果是 MySQL 8.0 以上版本,您可以使用 --retain-password 選項,繼續允許使用者使用舊密碼。如要捨棄舊密碼,請使用 --discard-dual-password 選項。

gcloud sql users set-password USER_NAME \
--host=HOST \
--instance=INSTANCE_NAME \
--password=PASSWORD

REST v1

如要變更使用者密碼,請使用 users:update 方法傳送 PUT 要求。

以下要求會更新使用者帳戶 user_name'@'% 的密碼。如果使用者有不同的主機,您必須使用正確的主機修改呼叫。

使用任何要求資料之前,請先修改下列項目的值:

  • project-id:專案 ID
  • instance-id:所需執行個體 ID
  • user-id:使用者 ID
  • password:使用者的新密碼
  • dual-password:下列其中一個列舉值:
    • DUAL_PASSWORD:使用者可以繼續使用舊密碼。
    • NO_DUAL_PASSWORD:使用者無法使用舊密碼。
    • NO_MODIFY_DUAL_PASSWORD:雙重密碼狀態維持不變。

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=user-id

JSON 要求主體:

{
  "name": "user-id",
  "password": "password",
  "retainedPassword" : "dual-password"
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

如要變更使用者密碼,請使用 users:update 方法傳送 PUT 要求。

以下要求會更新使用者帳戶 user_name'@'% 的密碼。如果使用者有不同的主機,您必須使用正確的主機修改呼叫。

使用任何要求資料之前,請先修改下列項目的值:

  • project-id:專案 ID
  • instance-id:所需執行個體 ID
  • user-id:使用者 ID
  • password:使用者的新密碼
  • dual-password:下列其中一個列舉值:
    • DUAL_PASSWORD:使用者可以繼續使用舊密碼。
    • NO_DUAL_PASSWORD:使用者無法使用舊密碼。
    • NO_MODIFY_DUAL_PASSWORD:雙重密碼狀態維持不變。

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id

JSON 要求主體:

{
  "name": "user-id",
  "password": "password",
  "retainedPassword" : "dual-password"
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

mysql 用戶端

  1. 如要變更密碼,請在 mysql 提示中,使用下列 SET PASSWORD 陳述式:
    SET PASSWORD FOR USER_NAME = PASSWORD('auth_string');
  2. 清除 mysql.user 表格,確保變更會持續存在:
    FLUSH TABLES mysql.user;

如果使用者因密碼政策設定而遭到封鎖,請變更密碼來解鎖帳戶。變更密碼時,請務必遵守密碼政策。

移除使用者密碼政策

如果使用者採用內建驗證類型,您可以移除其密碼政策。

gcloud

如要移除使用者密碼政策,請使用 gcloud sql users set-password-policy 指令和 --clear-password-policy 參數。

更改下列內容:

  • USER_NAME:使用者名稱
  • INSTANCE_NAME:執行個體的名稱
  • HOST:使用者主機名稱,可為特定 IP 位址、位址範圍或任何主機 (%)
gcloud sql users set-password-policy USER_NAME \
--instance=INSTANCE_NAME \
--host=HOST \
--clear-password-policy

REST v1

如要移除使用者密碼政策,請使用 users:update 方法發出 PUT 要求。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID
  • USER_ID:使用者 ID
  • PASSWORD:使用者密碼

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID

JSON 要求主體:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "data":
  {
    "passwordValidationUserPolicy" : {}
  }
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

REST v1beta4

如要移除使用者密碼政策,請使用 users:update 方法發出 PUT 要求。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID
  • USER_ID:使用者 ID
  • PASSWORD:使用者密碼

HTTP 方法和網址:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID

JSON 要求主體:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "data":
  {
    "passwordValidationUserPolicy" : {}
  }
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

移除使用者

預設使用者可以移除其他使用者。

移除使用者前,您必須捨棄該使用者擁有的所有物件或重新指派擁有權,並撤銷角色在其他物件上獲得的任何權限。

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 在 SQL 導覽選單中選取「使用者」
  4. 針對要移除的使用者,按一下「更多動作」圖示 更多動作圖示。
  5. 依序選取「移除」及「移除」

gcloud

使用 gcloud sql users delete 指令移除使用者。

更改下列內容:

  • USER_NAME:使用者名稱。
  • HOST:使用者的主機名稱,可以是特定 IP 位址、位址範圍或任何主機 (%)。
  • INSTANCE_NAME:執行個體的名稱。
gcloud sql users delete USER_NAME \
--host=HOST \
--instance=INSTANCE_NAME

REST v1

以下要求使用 users:delete 方法刪除指定使用者帳戶。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:所需執行個體 ID
  • USERNAME:使用者或服務帳戶的電子郵件地址

HTTP 方法和網址:

DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

以下要求使用 users:delete 方法刪除指定使用者帳戶。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:所需執行個體 ID
  • USERNAME:使用者或服務帳戶的電子郵件地址

HTTP 方法和網址:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.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://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

mysql 用戶端

  1. 如要刪除使用者,請在 mysql 提示中,使用下列 DROP USER 陳述式:
    DROP USER 'USER_NAME'@'HOST_NAME';
  2. 清除 mysql.user 表格,確保變更會保留:
    FLUSH TABLES mysql.user;

更新使用者屬性

如要更新使用者屬性,如主機或權限等,您必須使用 mysql用戶端。詳情請參閱 MySQL 說明文件中的「MySQL 使用者帳戶管理」一文。

後續步驟