A phpMyAdmin login failure is really a MySQL login failure — phpMyAdmin is just the messenger. The fix is the same as any MySQL access problem. Here is how.
Quick answer
A phpMyAdmin "Access denied" is really a MySQL login failure. Log in with a valid MySQL database user and password — not your hosting panel login — and reset that user's password in the panel if unsure. Also check that the user has privileges on the database and that phpMyAdmin connects to the right host, usually localhost.
Use the right MySQL user
Log in with a valid MySQL username and password — not your panel/cPanel login (unless they're the same). If denied, the credentials are wrong; reset the DB user's password. See MySQL access denied (1045).
Check the host phpMyAdmin connects to
phpMyAdmin's config.inc.php defines the MySQL host. A user granted on localhost but a config pointing at 127.0.0.1 (or a remote host) gets denied — they're treated differently in MySQL.
"Cannot log in to the MySQL server"
That specific message often means MySQL itself isn't running or isn't reachable. Confirm the service is up — see MySQL/MariaDB won't start:
systemctl status mariadbDirectAdmin/cPanel launch phpMyAdmin pre-authenticated for a database. Use that link rather than logging in manually to avoid credential mix-ups.
phpMyAdmin login = MySQL login. Use a valid DB user, match the host (localhost vs 127.0.0.1), and confirm MySQL is running.
Cause: too many connections
If MySQL/MariaDB has hit its max_connections limit, even a correct login can be refused. See MySQL too many connections if the error mentions connection limits rather than credentials specifically.
Cause: a session/cookie issue in phpMyAdmin itself
A phpMyAdmin session problem — an empty or changed blowfish_secret in config.inc.php — can also present as a failure to log in, separate from the underlying MySQL credentials being fine. Clear cookies for the phpMyAdmin domain and confirm blowfish_secret is set to a stable value.
How to prevent phpMyAdmin login issues
- Always launch phpMyAdmin from your panel's database section rather than bookmarking a manual login page.
- Keep database user passwords in a password manager.
- Don't reuse the same DB user across many sites so one password rotation doesn't break everything.
- Keep MySQL/MariaDB's max_connections sized to your actual traffic.
Related errors
If WordPress itself can't reach the database, not just phpMyAdmin, see error establishing a database connection. If MySQL won't even start, see MySQL/MariaDB won't start.