Updated on 2025-05-22 GMT+08:00

Creating a Database

Function

This API is used to create a database for a TaurusDB instance. Before calling this API:

URI

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

Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Explanation:

Project ID of a tenant in a region.

To obtain this value, see Obtaining a Project ID.

Constraints:

None

Value range:

The value can contain 32 characters. Only letters and digits are allowed.

Default value:

None

instance_id

Yes

String

Explanation:

Instance ID, which uniquely identifies an instance.

Constraints:

None

Value range:

The value can contain 36 characters with a suffix of in07. Only letters and digits are allowed.

Default value:

None

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Explanation:

User token. To obtain this value, call the IAM API for obtaining a user token.

The value of X-Subject-Token in the response header is the token value.

Constraints:

None

Value range:

None

Default value:

None

X-Language

No

String

Explanation:

Request language type.

Constraints:

None

Value range:

  • en-us

  • zh-cn

Default value:

en-us

Table 3 Request body parameter

Parameter

Mandatory

Type

Description

databases

Yes

Array of CreateGaussMySqlDatabase objects

Explanation:

Database list.

Constraints:

The list can contain a maximum of 50 databases.

Table 4 CreateGaussMySqlDatabase

Parameter

Mandatory

Type

Description

name

Yes

String

Explanation:

Database name.

Constraints:

None

Value range:

The database name can contain 1 to 64 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. The total number of hyphens (-) cannot exceed 10.

Default value:

None

comment

No

String

Explanation:

Database remarks.

Constraints:

None

Value range:

The value can consist of up to 512 characters. It cannot contain carriage returns or any of the following special characters: !<"='>&

Default value:

None

character_set

Yes

String

Explanation:

Name of the character set used by the database.

Constraints:

None

Value range:

None

Default value:

None

users

No

Array of GaussMySqlDatabaseUser objects

Explanation:

List of database users. When you create a database, you can grant the database permissions to the users in the list. To grant database permissions to a database user, call the API (Granting Permissions to a Database User).

Constraints:

If there is no database user in the list, you cannot grant the database permissions to database users when creating a database. The list can contain a maximum of 50 database users.

Table 5 GaussMySqlDatabaseUser

Parameter

Mandatory

Type

Description

name

Yes

String

Explanation:

Database username.

Constraints:

None

Value range:

The username can consist of 1 to 32 characters. Only letters, digits, and underscores (_) are allowed.

Default value:

None

host

Yes

String

Explanation:

Host IP address.

Constraints:

None

Value range:

  • If the value is %, all IP addresses are allowed to access your TaurusDB instance.

  • If the value is 10.10.10.%, all IP addresses in the subnet 10.10.10.X are allowed to access your TaurusDB instance.

  • To specify multiple IP addresses, separate them with commas (,), for example, 192.168.0.1,172.16.213.9 (no spaces before or after the comma).

Default value:

None

readonly

Yes

Boolean

Explanation:

Whether the permission is read-only.

Constraints:

None

Value range:

  • true: read-only

  • false: read/write

Default value:

None

Response Parameters

Status code: 201

Table 6 Response body parameter

Parameter

Type

Description

job_id

String

Explanation:

ID of the task for creating a database.

Value range:

None

Status code: 400

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Status code: 500

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

Example Request

Creating a database (with utf8mb4 as character set and read/write permission)

POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/a23fb62bd61e4e9e9636fd2225f395bein07/databases
{
  "databases" : [ {
    "name" : "test",
    "comment" : "database_comment",
    "character_set" : "utf8mb4",
    "users" : [ {
      "name" : "gaussdb_mysql_user1",
      "host" : "127.0.0.1",
      "readonly" : false
    } ]
  } ]
}

Example Response

Status code: 201

Success.

{
  "job_id" : "dff1d289-4d03-4942-8b9f-463ea07c000d"
}

Status Code

For details, see Status Codes.

Error Code

For details, see Error Codes.