Since we replaced our web server, MySQL under Ubuntu will not authenticate on any remote machine.
I changed the bind-address from 127.0.0.1, to 0.0.0.0, nmap shows that it is listening to port 3306, however it still will not authenticate.
I verified that what is in the grant tables, and it’s the same tables as were used on the old server, is correct and it still will not authenticate except from the localhost IP address or the socket.
I checked the source code and there is an argument that will make it behave this way. I suspect Ubuntu developers may have done this for security but really it should be up to the individual site how they want to configure it.
I have filed a bug report on Launch Pad since this functionality is not documented and it is documented that setting the bind-address to 0.0.0.0 will make it listen on all interfaces.
If this is the intended behavior, fine, they just need to correct the documentation and I will need to compile from source to get the behavior I want, but if not, hopefully they will fix it.
I prefer to have it work from the shell servers so people can use the standard mysql client to manipulate their databases. It is far more secure than phpMyAdmin and in my view less painful.
For now you will need to use phpMyAdmin to administer your database.