We have just recently migrated to a new cpanel server, after a serious hardware issue on the previous one.
With the setup of the new server we have opted to use a 'remote mysql server' to assist with load etc
Most functions seem to be working fine, except we have started to notice errors with users when they're trying to grant user -> database permissions within the client cpanel.
The system errors :
"User "client_username" could not be added to the database "database_name". The system received an error from the "MySQL" database "mysql": ER_PASSWORD_NO_MATCH (Can't find any matching row in the user table)
-
This only seems to be affecting 'some users' but unable to identify who or when until the error happens.
The user will attempt to create a mysql user - success
The user will attempt to create a mysql database - success
But when the user goes to 'grant privileges' to user and database, it errors.
Then when the user also tries to navigate to PHP My Admin, they get nothing but the phpmyadmin logo and a blank screen.
I have read to resolve the phpmyadmin issue, you simply have to reset the users password, but doing this has not fixed the situation with the blank phpmyadmin screen, and does not fix the mysql grant permission problem.
I have noticed errors in the /usr/local/cpanel/logs/error_log with the grant permission error.
It's trying / checking against SERVERHOSTNAME which is the cpanel hsot (localhost)
The only mysql server it should be using is a remote mysql system that has its profile setup and is functioning.
The issue it seems, SERVERHOSTNAME = the actual cpanel box, not the remote mysql server.
I have no idea why its doing this for some users but not all.
I thought it might only affect 'new' accounts created since the migration but its affecting new and old and some others 'just work'.
I've lodged a support ticket for this but hoping to get a quicker resolution to this problem.
With the setup of the new server we have opted to use a 'remote mysql server' to assist with load etc
Most functions seem to be working fine, except we have started to notice errors with users when they're trying to grant user -> database permissions within the client cpanel.
The system errors :
"User "client_username" could not be added to the database "database_name". The system received an error from the "MySQL" database "mysql": ER_PASSWORD_NO_MATCH (Can't find any matching row in the user table)
-
This only seems to be affecting 'some users' but unable to identify who or when until the error happens.
The user will attempt to create a mysql user - success
The user will attempt to create a mysql database - success
But when the user goes to 'grant privileges' to user and database, it errors.
Then when the user also tries to navigate to PHP My Admin, they get nothing but the phpmyadmin logo and a blank screen.
I have read to resolve the phpmyadmin issue, you simply have to reset the users password, but doing this has not fixed the situation with the blank phpmyadmin screen, and does not fix the mysql grant permission problem.
I have noticed errors in the /usr/local/cpanel/logs/error_log with the grant permission error.
Code:
warn [mysql] There is no such grant defined for user 'username' on host 'SERVERHOSTNAME'
[2017-12-11 20:04:40 +1100] warn [mysql] Error encountered while fetching data: There is no such grant defined for user 'armourfu' on host 'SERVERHOSTNAME' at /usr/local/cpanel/Cpanel/DBAdmin.pm line 180.
Cpanel::DBAdmin::_log_error_and_output_return(Cpanel::Mysql=HASH(0x2731600), Cpanel::LocaleString=ARRAY(0x281d3b0)) called at /usr/local/cpanel/Cpanel/DBAdmin.pm line 203
Cpanel::DBAdmin::_log_error_and_output(Cpanel::Mysql=HASH(0x2731600), Cpanel::LocaleString=ARRAY(0x281d3b0)) called at /usr/local/cpanel/Cpanel/Mysql.pm line 809
Cpanel::Mysql::updateprivs(Cpanel::Mysql=HASH(0x2731600), "DATABASENAME") called at /usr/local/cpanel/Cpanel/Mysql.pm line 305
Cpanel::Mysql::create_db(Cpanel::Mysql=HASH(0x2731600), "DATABASENAME") called at /usr/local/cpanel/Cpanel/AdminBin/DB.pm line 89
Cpanel::AdminBin::DB::CREATE_DATABASE(bin::admin::Cpanel::mysql=HASH(0x2712d78), "DATABASENAME") called at /usr/local/cpanel/Cpanel/AdminBin/Script/Call.pm line 119
Cpanel::AdminBin::Script::Call::_dispatch_method(bin::admin::Cpanel::mysql=HASH(0x2712d78)) called at /usr/local/cpanel/Cpanel/AdminBin/Script.pm line 166
Cpanel::AdminBin::Script::new("bin::admin::Cpanel::mysql", "alarm", 120) called at /usr/local/cpanel/Cpanel/AdminBin/Script.pm line 79
Cpanel::AdminBin::Script::run("bin::admin::Cpanel::mysql", "alarm", 120) called at bin/admin/Cpanel/mysql.pl line 24
warn [mysql] Error encountered while fetching data: There is no such grant defined for user 'CLIENTUSERNAME' on host 'SERVERHOSTNAME'
[2017-12-11 20:04:56 +1100] info [mysql] Creating MySQL virtual user DATABASENAME for user CLIENTUSERNAME
[2017-12-11 20:07:23 +1100] warn [cpmysql] There is no such grant defined for user 'CLIENTUSER' on host 'SERVERHOSTNAME' at /usr/local/cpanel/Cpanel/Mysql.pm line 1951, <STDIN> line 1.
Cpanel::Mysql::_password_hashes(Cpanel::Mysql=HASH(0x1c5a690), ARRAY(0x10ebfc8)) called at /usr/local/cpanel/Cpanel/Mysql.pm line 803
Cpanel::Mysql::updateprivs(Cpanel::Mysql=HASH(0x1c5a690)) called at /usr/local/cpanel/Cpanel/Mysql.pm line 1712
Cpanel::Mysql::dbcache(Cpanel::Mysql=HASH(0x1c5a690), "") called at bin/admin/Cpanel/cpmysql.pl line 458
warn [cpmysql] There is no such grant defined for user 'CLIENTUSER' on host 'SERVERHOSTNAME'
[2017-12-11 20:07:23 +1100] warn [cpmysql] Error encountered while fetching data: There is no such grant defined for user 'armourfu' on host 'SERVERHOSTNAME' at /usr/local/cpanel/Cpanel/DBAdmin.pm line 180, <STDIN> line 1.
Cpanel::DBAdmin::_log_error_and_output_return(Cpanel::Mysql=HASH(0x1c5a690), Cpanel::LocaleString=ARRAY(0x1e30548)) called at /usr/local/cpanel/Cpanel/DBAdmin.pm line 203
Cpanel::DBAdmin::_log_error_and_output(Cpanel::Mysql=HASH(0x1c5a690), Cpanel::LocaleString=ARRAY(0x1e30548)) called at /usr/local/cpanel/Cpanel/Mysql.pm line 809
It's trying / checking against SERVERHOSTNAME which is the cpanel hsot (localhost)
The only mysql server it should be using is a remote mysql system that has its profile setup and is functioning.
The issue it seems, SERVERHOSTNAME = the actual cpanel box, not the remote mysql server.
I have no idea why its doing this for some users but not all.
I thought it might only affect 'new' accounts created since the migration but its affecting new and old and some others 'just work'.
I've lodged a support ticket for this but hoping to get a quicker resolution to this problem.
Last edited by a moderator: