How to Restore Database Grants


Last modified: September 28, 2020

Overview

If a database user loses access to databases, you can restore the user’s grants to the database with the restoregrants utility.

Restore the user’s database access

Execute either of the following commands from the command line:

1
2
3
    /usr/local/cpanel/bin/restoregrants --cpuser=$cpuser --db={mysql, pg} --dbuser=$dbuser

    /usr/local/cpanel/bin/restoregrants --cpuser=$cpuser --db={mysql, pg} --all

The following table describes the variables in the example above:

Variable Description
$cpuser The cPanel username that has lost access to databases.
{mysql, pg} The type of database: mysql for MySQL® or pg for PostgreSQL®.
$dbuser The database user whose privileges you that wish to restore. If you use the --dbuser flag, the $dbuser variable will consist of the database user’s name. If you use the --all flag, the script will restore grants for all of the database users that the cPanel account owns.

How to update the cPanel user’s password to restore database access

In certain circumstances, the restoregrants script may fail to restore database access. If this occurs, either the cPanel user or the WHM user who owns the account can reset the cPanel account’s password to restore grants.

  • cPanel users can reset their account passwords in cPanel’s Password & Security interface (cPanel » Home » Preferences » Password & Security).
  • WHM users can reset the password in WHM’s List Accounts interface (WHM » Home » Account Information » List Accounts).

Additional Documentation