We have a new documentation site for cPanel & WHM! You can find our new documentation site at docs.cpanel.net.

We will continue to maintain our API documentation on this server.

Child pages
  • UAPI Functions - Mysql::set_privileges_on_database
Skip to end of metadata
Go to start of metadata

Description

This function sets a MySQL® database user's privileges.

Important:

In cPanel & WHM version 76 and later, when you disable the MySQL/MariaDB role and remote MySQL is not already configured, the system disables this function.

Examples 


 cPanel or Webmail Session URL
https://hostname.example.com:2083/cpsess##########/execute/Mysql/set_privileges_on_database?user=dbuser&database=mydb&privileges=DELETE%2CUPDATE%2CCREATE%2CALTER


Note:

This example calls the UAPI function via a cPanel session. For more information, read our Guide to UAPI documentation. 

 LiveAPI PHP Class
$cpanel = new CPANEL(); // Connect to cPanel - only do this once.
 
// Set the dbuser user's privileges for the mydb database.
$set_dbuser_privs = $cpanel->uapi(
    'Mysql', 'set_privileges_on_database',
    array(
        'user'       => 'dbuser',
        'database'   => 'mydb',
        'privileges' => 'DELETE,UPDATE,CREATE,ALTER',
    )
);


Note:

For more information, read our Guide to the LiveAPI System.


 LiveAPI Perl Module
my $cpliveapi = Cpanel::LiveAPI->new(); # Connect to cPanel - only do this once.
 
# Set the dbuser user's privileges for the mydb database.
my $set_dbuser_privs = $cpliveapi->uapi(
    'Mysql', 'set_privileges_on_database',
    {
        'user'       => 'dbuser',
        'database'   => 'mydb',
        'privileges' => 'DELETE,UPDATE,CREATE,ALTER',
    }
);


Note:

For more information, read our Guide to the LiveAPI System.


 Command Line
uapi --user=username Mysql set_privileges_on_database user=dbuser database=mydb privileges=DELETE,UPDATE,CREATE,ALTER


Notes:

  • You must URI-encode values.
  • username represents your account-level username.
  • For more information and additional output options, read our Guide to UAPI documentation or run the uapi --help command. 
  • If you run CloudLinux™, you must use the full path of the uapi command:

    /usr/local/cpanel/bin/uapi


 Output (JSON)
{
  "messages": null,
  "errors": null,
  "status": 1,
  "metadata": {
     
  },
  "data": null
}


Note:

Use cPanel's API Shell interface (cPanel >> Home >> Advanced >> API Shell) to directly test cPanel API calls.

Parameters

ParameterTypeDescriptionPossible valuesExample
userstring

Required

The database user's name.

A MySQL user on the cPanel account.

Important:

If database prefixing is enabled, you must prefix this value with the account prefix and an underscore (_).

For example, for the dbuser user on the user cPanel account, pass in a value of user_dbuser

dbuser
databasestring

Required

The database's name.

A MySQL database on the cPanel account.

mydb
privilegesstring

A list of privileges.

Note:

This list replaces, rather than adds to, the existing privilege list.

  • ALL PRIVILEGES
  • A comma-separated list of one or more of the following individual privileges:
    • ALTER
    • ALTER ROUTINE
    • CREATE
    • CREATE ROUTINE
    • CREATE TEMPORARY TABLES
    • CREATE VIEW
    • DELETE
    • DROP
    • EVENT
    • EXECUTE
    • INDEX
    • INSERT
    • LOCK TABLES
    • REFERENCES
    • SELECT
    • SHOW VIEW
    • TRIGGER
    • UPDATE

Note:

In browser-based and command line calls, separate multiple values with %2C and replace spaces with %20

DELETE,UPDATE,CREATE,ALTER

Returns

This function only returns metadata.