When recently upgrading my server to Ubuntu 9.04, phpMyAdmin was also upgraded to version 5.0.75. When I loaded up the new version, I was alarmed to find a new error message that read:
It turned out this error was due to the fact that version 5 of phpMyAdmin adds support for a new feature known as a linked-tables infrastructure. This infrastructure allows for new features such as bookmarks, comments, SQL-history, PDF-generation, and field contents transformation. The problem was that this new feature is enabled by default, with generic credentials set up for the controluser. If you don't have your database set up for the infrastructure, you will see the error. I have no use for these new features, so I'd rather just not mess with them. If you do want to enable the advanced features, here is an informative post about doing so on Ubuntu. If you just want to disable the linked-tables infrastructure, which is often the easiest and least intrusive way, just follow these steps:
Connection for controluser as defined in your configuration failed.
It turned out this error was due to the fact that version 5 of phpMyAdmin adds support for a new feature known as a linked-tables infrastructure. This infrastructure allows for new features such as bookmarks, comments, SQL-history, PDF-generation, and field contents transformation. The problem was that this new feature is enabled by default, with generic credentials set up for the controluser. If you don't have your database set up for the infrastructure, you will see the error. I have no use for these new features, so I'd rather just not mess with them. If you do want to enable the advanced features, here is an informative post about doing so on Ubuntu. If you just want to disable the linked-tables infrastructure, which is often the easiest and least intrusive way, just follow these steps:
- Type
nano /etc/phpmyadmin/config.inc.php
in the Linux terminal. You can substitute nano for vi or your favorite text editor.
- Find the two blocks of text that read: one is near the top embedded in an if statement, and the other is towards the bottom. The text is not exactly the same for each block, but
$cfg['Servers'][$i]['controluser'] = $dbuser;
$cfg['Servers'][$i]['controlpass'] = $dbpass;$cfg['Servers'][$i]['controluser']
is what matters. The block that is actually used by phpMyAdmin depends on your setup, but just for simplicity we will apply the change to both.
- Just comment out those four lines by adding a // in front of each one.
- Save, and the error should disappear next time you access phpMyAdmin. If you are still having trouble, feel free to post a comment.