I have mysql installed on a Windows machine where a local webserver was accessing it and had the same problem. After a lot of searching for information and trying different things, I finally found the solution.
In the
my.ini file, I added the following line:
bind-address=127.0.0.1
After restarting the mysqld-nt service, I could successfully connect to MySQL. I think the problem has to do with network security settings, but opening port 3306 didn't help. Only defining which IP address to listen to did the trick.