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