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 role, the system disables this function. For more information, read our How to Use Server Profiles documentation.

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.

 

 cPanel Template Toolkit
<!-- Update the dbuser's privileges. -->
[% execute('Mysql', 'set_privileges_on_database', { name => 'dbuser', database => 'mydb', privileges => 'DELETE,UPDATE,CREATE,ALTER' } ) %]


Note:

For more information, read our Guide to Template Toolkit documentation. 

 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.