Originally Posted by till
Pleasee nsure that mysql is listening on localhost and accepting connections from localhost.
Aargh, I found it! This was my first thought too but thanks for making me check again.
Just for the archives:
As MySQL doesn't support listening on more than one socket it's either one interface or all of them. But especially in the light of recent DB-root exploits I didn't want to open it to the wild wild web, only to the internal management network that connects the vservers. So I put in an iptables rule:
iptables -A INPUT --protocol tcp --dport 3306 '!' --in-interface eth1 -j REJECT
And forgot about the lo interface. But when ispconfig didn't work, I tested with the mysql client:
mysql -hlocalhost -Ddbispconfig -uispconfig -pXXXXX
That worked fine.
Turns out mysql silently falls back to unix domain sockets if a connection to localhost fails---which is only visible if you use "prompt \p" to show the currently used port or socket or with netstat. m(
MySQL, I hate