SOLVED Can't add user to database/adjust privileges

Status
Not open for further replies.

rand2748

Registered
Mar 24, 2022
4
3
3
EU
cPanel Access Level
Root Administrator
Submitted to cPanel support 6+ hours ago, 0 response, so asking for help here. The issue occurs for months with multiple accounts. Now it happens with ALL accounts (both old and newly created ones).

This is what I expect:
  • Go to cPanel account and select "MySQL Databases"
  • Under "Add User To Database" section select user/database and add user to database
  • Make changes, go back, and user should be added to database.
This is what happens:
  • Nothing, user is never added to database.
Tried rebooting server, restarting all the services, changing MySQL root password, updating WHM to latest version (102.0.8) - nothing works. After
hours of debugging I found it's possible to add user to database via CLI using cPanel API, and it works for all MySQL commands EXCEPT "set_privileges_on_database".

So even if I can add user to database via cPanel API, calling "set_privileges_on_database" fails, and MySQL connection doesn't work as a result. How can I add user to database and grant him privileges? This is a huge issue since I can't even launch new websites because it's impossible to add user to database.
 

andrew.n

Well-Known Member
Jun 9, 2020
982
363
63
EU
cPanel Access Level
Root Administrator
When you assign a new sql user to the database do you get any error? Do you see the user assigned inside cPanel?
 

rand2748

Registered
Mar 24, 2022
4
3
3
EU
cPanel Access Level
Root Administrator
If I do this via cPanel GUI, no errors are displayed. After I click 'Add User To Database', select privileges, and click 'Make Changes' button, no success/error messages are displayed. When I go back to previous page, user is not added to DB ('Privileged Users' column is empty).

If I add user via CLI using cPanel API, user is added to DB, but it has no privileges. Issuing another command (set_privileges_on_database) fails (it returns status: 0).
 

rand2748

Registered
Mar 24, 2022
4
3
3
EU
cPanel Access Level
Root Administrator
And this is error from main WHM error log file after trying to adjust privileges using CLI:

Cpanel::Exception::Database::Error/(XID vq62eb) The system received an error from the “MySQL” database “mysql”: ER_PASSWORD_NO_MATCH (Can't find any matching row in the user table)
at /usr/local/cpanel/Cpanel/DBI.pm line 200.
Cpanel::DBI::_create_exception(Cpanel::DBI::Mysql::db=HASH(0x38032f0), "DBD::mysql::db do failed: Can't find any matching row in the "..., undef) called at /usr/local/cpanel/Cpanel/DBI.pm line 188
Cpanel::DBI::_error_handler("DBD::mysql::db do failed: Can't find any matching row in the "..., Cpanel::DBI::Mysql::db=HASH(0x38032f0), undef) called at /usr/local/cpanel/Cpanel/Mysql.pm line 694
Cpanel::Mysql::_do_addusertodb(Cpanel::Mysql=HASH(0x325cae0), "mycpanelusername_databaseuser", "mycpanelusername_databasename", "SELECT") called at /usr/local/cpanel/Cpanel/Mysql.pm line 632
Cpanel::Mysql::addusertodb_literal_privs(Cpanel::Mysql=HASH(0x325cae0), "mycpanelusername_databaseuser", "mycpanelusername_databasename", ARRAY(0x3256d20)) called at /usr/local/cpanel/Cpanel/Admin/Modules/Cpanel/mysql.pm line 194
Cpanel::Admin::Modules::Cpanel::mysql::SET_USER_PRIVILEGES_ON_DATABASE(Cpanel::Admin::Modules::Cpanel::mysql=HASH(0x32bf4a0), "mycpanelusername_databaseuser", "mycpanelusername_databasename", ARRAY(0x3256d20)) called at /usr/local/cpanel/Cpanel/Admin/Base.pm line 731
eval {...} called at /usr/local/cpanel/Cpanel/Admin/Base.pm line 730
Cpanel::Admin::Base::run("Cpanel::Admin::Modules::Cpanel::mysql", "username", undef, "uid", 1029, "function", "SET_USER_PRIVILEGES_ON_DATABASE", "args", ...) called at /usr/local/cpanel/Cpanel/AdminBin/Server/Backend.pm line 143
eval {...} called at /usr/local/cpanel/Cpanel/AdminBin/Server/Backend.pm line 129
Cpanel::AdminBin::Server::Backend::run_admin_module("perl_module", "Cpanel::Admin::Modules::Cpanel::mysql", "uid", 1029, "args", ARRAY(0x3256cd8), "function", "SET_USER_PRIVILEGES_ON_DATABASE", ...) called at /usr/local/cpanel/Cpanel/AdminBin/Server.pm line 222
Cpanel::AdminBin::Server::_request_handler(Cpanel::AdminBin::Server=HASH(0x3256720), HASH(0x3256b58), undef) called at /usr/local/cpanel/Cpanel/AdminBin/Server.pm line 123
Cpanel::AdminBin::Server::__ANON__() called at /usr/local/cpanel/Cpanel/Try.pm line 193
eval {...} called at /usr/local/cpanel/Cpanel/Try.pm line 193
Cpanel::Try::try(CODE(0x3256870), "Cpanel::Exception::ProcessNotRunning", CODE(0x32568e8)) called at /usr/local/cpanel/Cpanel/AdminBin/Server.pm line 126
Cpanel::AdminBin::Server::handle_cpwrapd_request(Cpanel::AdminBin::Server=HASH(0x3256720), HASH(0x32565a0)) called at /usr/local/cpanel/Cpanel/Server.pm line 2455
Cpanel::Server::handle_cpwrapd_connection(Cpanel::Server=HASH(0x3049488)) called at cpsrvd.pl line 1883
cpanel::cpsrvd::_handle_unix_socket_connection("handle_cpwrapd_connection") called at cpsrvd.pl line 1125
cpanel::cpsrvd::script() called at cpsrvd.pl line 436
 

rand2748

Registered
Mar 24, 2022
4
3
3
EU
cPanel Access Level
Root Administrator
I would like to say "Thank you" to cPanel for "support". After waiting 7 hours and getting 0 responses, I debugged all the errors all this time and was finally able to solve it myself. I removed "skip-name-resolve" from /etc/my.cnf and everything started working.
 

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
16,597
2,617
363
cPanel Access Level
Root Administrator
@rand2748 - your cPanel license isn't purchased directly through cPanel, so your support ticket is in the complimentary queue where there is no service level agreement. For no-direct customers, your first point of contact should be your provider where you purchased the license, as that is part of their agreement with us.

cPanel doesn't support the skip-name-resolve option so that was likely added to the database configuration manually at some point.
 
Status
Not open for further replies.