Updated on 2024-06-07 GMT+08:00

Authorizing a Database Account

Function

This API is used to set permissions of a database account in a specified DB instance.

  • Before calling an API, you need to understand the API in Authentication.

Constraints

  • This operation cannot be performed when the DB instance is in any of the following statuses: creating, changing instance class, changing port, frozen, or abnormal.
  • For any database and account created using methods other than the RDS console and APIs, if the database name and account name do not meet the database naming rules (see Table 2) and account naming rules (see Table 2), for example, containing Chinese characters or unsupported special characters, the database and account cannot be managed through the RDS console or APIs.
  • In migration scenarios, if any database name and account name of the source database do not meet the database naming rules (see Table 2) and account naming rules (see Table 2), the database and account cannot be managed through the RDS console or APIs after being migrated to the destination RDS for MySQL database.

URI

  • URI format

    POST /v3/{project_id}/instances/{instance_id}/db_privilege

  • Parameter description
    Table 1 Parameter description

    Name

    Mandatory

    Description

    project_id

    Yes

    Project ID of a tenant in a region.

    For details about how to obtain the project ID, see Obtaining a Project ID.

    instance_id

    Yes

    Specifies the DB instance ID.

Request

Table 2 Parameter description

Name

Mandatory

Type

Description

db_name

Yes

String

Database name.

users

Yes

Array of objects

Database accounts. Each element is a database account. A single request supports a maximum of 50 elements.

For details on the element structure, see Table 3.

Table 3 users field data structure description

Name

Mandatory

Type

Description

name

Yes

String

Specifies the username of the database account.

The username consists of 1 to 32 characters. Only lowercase letters, digits, hyphens (-), and underscores (_) are allowed.
  • If the database version is MySQL 5.6, the username consists of 1 to 16 characters.
  • If the database version is MySQL 5.7 or 8.0, the username consists of 1 to 32 characters.

readonly

Yes

Boolean

Specifies the read-only permission.

  • true: indicates the read-only permission.
  • false: indicates the read and write permission.

Example Request

Grant read and write permissions to rds and read-only permissions to rds001.
POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in01/db_privilege

{
    "db_name": "rds-test",
    "users": [
        {
            "name": "rds",
            "readonly": false
        },
        {
            "name": "rds001",
            "readonly": true
        }
    ]
}

Response

  • Normal response
    Table 4 Parameter description

    Name

    Type

    Description

    resp

    String

    Returns successful if the invoking is successful.

Status Code

Error Code

For details, see Error Codes.