MariaDB/MySQL …Invalid grant string: SET DEFAULT

Symptoms

When accessing cPanel >> MySQL Databases you receive an error with the following:

The MySQL server is currently offline.
adminbin Cpanel/cpmysql/DBCACHE: exit 255"

Description 

Whenever there is an issue with the cPanel interface, the most helpful thing you can do is check the cPanel logs at the following file:

/usr/local/cpanel/logs/error_log

Checking that error log file will likely give you more details on the problem, and that may even be enough to resolve the issue.

Workaround

In this case, I found the following entry in the cPanel error log while loading the cPanel >> MySQL Databases page:

Cpanel::Exception::Database::CpuserNotInMap/(XID xfttxq) The cPanel user “username” does not exist in the database map.

When this happens that indicates there is an issue with the MySQL system, but fortunately there is a cPanel tool to get this taken care of.  You can run the following command to update the user’s database map on the machine:

/scripts/rebuild_dbmap $user

and that will get things working properly. 

NOTE: You will want to be sure to replace $user with the affect cPanel account’s username.

Error It May Generate:

Transfers or restores will show errors similar to below:

The "Mysql" restore module failed because of an error: Invalid grant string: SET DEFAULT ROLE 0 FOR 'testuser'@'10.1.1.3'

We’ve opened an internal case for our development team to investigate this further. For reference, the case number is CPANEL-34745. Follow this article to receive an email notification when a solution is published in the product. 

Workaround

As of 2020-11-06, our development team has released an autofixer to address this issue.  It will be run automatically the next time the nightly maintenance runs.  If you are experiencing this problem now, though, you may run the following autofixer script as root:

/scripts/autorepair fix_mariadb_show_grants_roles

Note: If running the autorepair script above does not resolve your issue, please attempt restarting the SQL service.

For users that have applied the previous workaround involving downgrading MariaDB. Be sure to unlock MariaDB to ensure it continues to receive the appropriate updates:

# yum versionlock clear

Then run upcp to have the MariaDB packages updated:

/scripts/upcp

Leave a Reply

Your email address will not be published. Required fields are marked *