Page tree
Skip to end of metadata
Go to start of metadata

 

Description

This function changes a MySQL® database's name. 

MySQL does not natively rename databases. When cPanel & WHM "renames" a database, the system performs the following steps:
  1. The system creates a new database.
  2. The system moves data from the old database to the new database.
  3. The system recreates grants and stored code in the new database.
  4. The system deletes the old database and its grants. 

Warning:

  • If any of the first three steps fail, the system returns an error and attempts to restore the database's original state. If the restoration process fails, the function's error message will include the additional failures.
  • In rare cases, the system creates the new database successfully, but fails to complete step 4. The system treats this as a success, but the function will return warning messages that describe the failure.

Examples 


 JSON API
https://hostname.example.com:2087/cpsess##########/json-api/rename_mysql_database?api.version=1&oldname=database&newname=database2&cpuser=example
 XML API
https://hostname.example.com:2087/cpsess##########/xml-api/rename_mysql_database?api.version=1&oldname=database&newname=database2&cpuser=example
 Command Line
whmapi1 rename_mysql_database oldname=database newname=database2 cpuser=example

Notes:

  • You must URI-encode values.
  • For more information and additional output options, read our Guide to WHM API 1 documentation or run the whmapi1 --help command. 
  • We introduced this functionality in cPanel & WHM version 11.52.0.8.

 Output (JSON)
{
  "metadata": {
    "version": 1,
    "reason": "OK",
    "result": "1",
    "command": "rename_mysql_database"
  }
}
 Output (XML)
<result>
    <metadata>
        <version>1</version>
        <reason>OK</reason>
        <result>1</result>
        <command>rename_mysql_database</command>
    </metadata>
</result>


Note:

Use WHM's API Shell interface (WHM >> Home >> Development >> API Shell) to directly test WHM API calls.

   

Parameters

ParameterTypeDescriptionPossible valuesExample
oldnamestring

Required

The database's current name.

A valid database name. database

newname

string

Required

The database's new name.

A valid database name.

Warning:

  • If database prefixing is enabled, this parameter must include the database prefix for the account.
  • The maximum length of the database name is 64 characters. However, due to the method that cPanel & WHM uses to store MySQL database names, each underscore character requires two characters of that limit. Therefore, if you enable database prefixing, the maximum length of the database name is 63 characters, which includes both the database prefix and the underscore character. Each additional underscore requires another two characters of that limit.
database2

cpuser

string

The database's owner.

A valid username.username

Returns

This function only returns metadata.

Note:

This function's metadata includes the payload_is_literal return. For more information, read our WHM API 1 - Return Data documentation.