You can call the CreateAccount operation to create an account that is used to manage databases on an ApsaraDB RDS instance.

Before you call this operation, make sure that the following requirements are met:

  • The instance is in the Running state.
  • The database is in the running state.
  • The number of accounts that are created on the instance does not exceed the maximum number of accounts for an instance. For more information about the maximum number of accounts, see Limits.
Note
  • This operation is supported for instances that run MySQL, MariaDB TX, PostgreSQL, and SQL Server. However, if the instance runs SQL Server 2017 or SQL Server 2019 on RDS Cluster Edition, this operation is not supported.
  • You can create multiple privileged accounts and multiple standard accounts for each ApsaraDB RDS instance that runs PostgreSQL with standard SSDs or enhanced SSDs (ESSDs).
  • You can create only one privileged account for each ApsaraDB RDS instance that runs PostgreSQL 9.4 or PostgreSQL 10.0 with local SSDs.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes CreateAccount

The operation that you want to perform. Set the value to CreateAccount.

DBInstanceId String Yes rm-uf6wjk5xxxxxxx

The ID of the instance. You can call the DescribeDBInstances operation to query the ID of the instance.

AccountName String Yes test1

The username of the account.

Note
  • The username must be unique.
  • The username must start with a lowercase letter and end with a lowercase letter or digit.
  • The username can contain lowercase letters, digits, and underscores (_).
  • The length of the username must meet the following requirements:
    • If the instance runs MySQL 5.7 or MySQL 8.0, the username must be 2 to 32 characters in length.
    • If the instance runs MySQL 5.6, the username must be 2 to 16 characters in length.
    • If the instance runs SQL Server, the username must be 2 to 64 characters in length.
    • If the instance runs PostgreSQL with standard SSDs or ESSDs, the username must be 2 to 63 characters in length.
    • If the instance runs PostgreSQL with local SSDs, the username must be 2 to 16 characters in length.
    • If the instance runs MariaDB TX, the username must be 2 to 16 characters in length.
  • For more information about invalid characters, see Forbidden keywords table.
AccountPassword String Yes Test123456

The password of the account.

Note
  • The password of the account must be 8 to 32 characters in length.
  • The password of the account must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters.
  • The password can contain any of the following characters:

    ! @ # $ % ^ & * ( ) _ + - =

AccountDescription String No Test account A

The description of the account. The description must be 2 to 256 characters in length and can contain letters, digits, underscores (_), and hyphens (-). The description must start with a letter.

Note The description cannot start with http:// or https://.
AccountType String No Normal

The type of the account. Valid values:

  • Normal: standard account
  • Super: privileged account

Default value: Normal.

Response parameters

Parameter Type Example Description
RequestId String D4D4BE8A-DD46-440A-BFCD-EE31DA81C9DD

The ID of the request.

Examples

Sample requests

http(s)://rds.aliyuncs.com/?Action=CreateAccount
&DBInstanceId=rm-uf6wjk5xxxxxxx
&AccountName=test1
&AccountPassword=Test123456
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateAccountResponse>
       <RequestId>D4D4BE8A-DD46-440A-BFCD-EE31DA81C9DD</RequestId>
</CreateAccountResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "D4D4BE8A-DD46-440A-BFCD-EE31DA81C9DD"
}

Error codes

HTTP status code Error code Error message Description
400 GeneralIns.Creating The general instance is creating. The error message returned because an instance is being created. Try again later.
400 GeneralIns.Maintaining The general instance is maintaining. The error message returned because an instance is being migrated or maintained. Try again later.
400 GeneralIns.Switching The general instance is Switching. The error message returned because a primary/secondary switchover is being performed to ensure high availability. Try again later.
400 InvalidEngineVersion.NotSupported Current db instance does not support sysadmin. The error message returned because the current instance does not support the creation of a sysAdmin account for the instance.
400 Database.ConnectError Database connect error. please check instance status and database processlist The error message returned because the database connection is abnormal. Check the instance status and the connection pool of the database.
400 Account.AddError Create Account failed, please check your input value or may your input value not satisfy instance current policy The error message returned because the account fails to be created. Check whether the request parameters or requested parameters meet the requirements for parameter configurations.

For a list of error codes, visit the API Error Center.