Updated on 2024-09-11 GMT+08:00

Creating a Database

Function

This API is used to create a database for a GaussDB(for MySQL) 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

Project ID of a tenant in a region.

To obtain this value, see Obtaining a Project ID.

instance_id

Yes

String

Instance ID, which is compliant with the UUID format.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

It can be obtained by calling the IAM API used to obtain a user token.

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

X-Language

No

String

Request language type. The default value is en-us.

Values:

  • en-us
  • zh-cn
Table 3 Request body parameter

Parameter

Mandatory

Type

Description

databases

Yes

Array of CreateGaussMySqlDatabase objects

Database information list. The list contains up to 50 databases.

Table 4 CreateGaussMySqlDatabase

Parameter

Mandatory

Type

Description

name

Yes

String

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

comment

No

String

Database remarks. The value can consist of up to 512 characters, and cannot contain the carriage return characters or the following special characters: !<"='>&

character_set

Yes

String

Database character set, for example, utf8mb4 or gbk.

users

No

Array of GaussMySqlDatabaseUser objects

List of database users. The list contains up to 50 database users. When you create a database, you can grant the database permissions to the users in the list.

If there is no database user in the list, you cannot grant the database permissions to database users when creating a database. If you need to grant the database permissions to a database user later, call the API (Granting Permissions to a Database User).

Table 5 GaussMySqlDatabaseUser

Parameter

Mandatory

Type

Description

name

Yes

String

Database username.

host

Yes

String

Host IP address.

readonly

Yes

Boolean

Whether the permission is read-only.

  • true: read-only
  • false: read/write

Response Parameters

Status code: 201

Table 6 Response body parameters

Parameter

Type

Description

job_id

String

ID of the task for creating a database.

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.