Question

"Cannot log in to the MySQL server" without code using phpMyAdmin on CentOS7

I’ve set up a new CentOS 7 server with Apache, MySQL and phpMyAdmin using Digital Ocean’s guides. However, when I try to log in to phpMyAdmin via the browser, I get the message “Cannot log in to the MySQL server” without any error code.

For testing purposes I’ve set the IP addresses in phpMyAdmin.conf to Require all granted.

I have two accounts in MySQL, namely the root user and a user ‘niels’, which I gave all permissions. Logging in to MySQL via the command line works fine for both accounts. Only the phpMyAdmin web version is doing something unexpected.

Thank you!

Subscribe
Share

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

Assuming MySQL 8.

  ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

Reason: Some applications are having trouble with caching _sha2 _password method. Above sets the credentials to use the native one.

This comment has been deleted

Can you post the content of your config.inc.php?

The result of that command looks like this: tcp6 0 0 :::33060 :::* LISTEN 3690/mysqld tcp6 0 0 :::3306 :::* LISTEN 3690/mysqld

phpMyAdmin does not give any code. Just the message.

Hi

What did you use as your “host” in the PHPMyAdmin config? Depending on what you have there, the system (/etc/hosts) could interpret it differently and all of a sudden MySQL “thinks” the connection is remote. For which you probably don’t have the grants. Sometimes a mere difference of “127.0.0.1” and “localhost” could confuse things. Try setting the host to “127.0.0.1” to skip /etc/hosts and rule this issue out.