Fix Phpmyadmin: Connection for controluser as defined in your configuration failed

Step 1:

Since you’re able to log on as the controluser at the terminal, it’s most likely that your configuration file doesn’t contain the proper username or password for the controluser.

Open up config.inc.php in your text editor and look at the controluser and controlpass lines — make sure they match exactly what username and password you’re successfully using. Try commenting out those two lines completely to see if you get a different error message.

If you’ve used the package manager to install, note that the configuration files are spread about in /etc/phpmyadmin and if you manually added those lines, they might be overwritten by another configuration file. Try grep -Ri controluser /etc/phpmyadmin/* to see if that appears in more than one file.

Since you’ve used the package manager, you should let it handle configuring the database. Try removing any edits you’ve made to the configuration files and running 

dpkg-reconfigure -plow phpmyadmin 

(this is a shell command to run at the command prompt); this will reconfigure the phpmyadmin package and will ask if you want to allow dbconfig-common to create the phpMyAdmin tables for you as well as the controluser.

 

Step 2:

edited ‘config.inc.php’ and added another underscore (_) after the ‘pma‘ prefix of the tables.

ie. $cfg[‘Servers’][$i][‘userconfig’] = ‘pma_userconfig’;

became

$cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’;