I've got two servers: Web and MySQL, both on Ubuntu 12.04 x64
On Web is setup a phpmyadmin installation and nginx etc. On MySQL is setup a mysqsl installation
When I run mysql --user=user --host=MySQL.hostname --password, from Web, I can connect just fine to the MySQL server
But when I try to connect via phpmyadmin, it does not work. why?
User is not root
In the /usr/share/phpmyadmin/config.inc.php file (which I copied from the sample), I have this:
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'MySQL.hostname';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysql if your server does not have mysqli */
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
On the MySQL server, I have it setup to bind to 0.0.0.0 and I have user permissions for this user on 'localhost' and '%' (remember- I do connect just fine via mysql client)
(note: MySQL.hostname is actually a resolvable hostname, just using this here for example)
As this topic come up as one of the first searchresults, my findings could help someone else.
I had the same symptoms: login possible from command line with #mysql -u root -p login fails thru phpmyadmin without error shown.
For me the problem disappeared after installing ntp and syncing time
OK the answer is simple, even though the main files reside in /usr/share/phpmyadmin, the config is actually loaded in /etc/phpmyadmin/
Changing config.inc.php there did the trick :)
I came across the same problem. I checked the error log of the web server[Apache] and found out that the server was full. no space even for writing into access.log file. Here is what I have seen in the log file No space left on device: [client xx.xx.xx.xx:xxxx] AH00646: Error writing to /var/log/apache2/access.log, referer: https://server/address/phpmyadmin/ I freed some space and worked.