In my Ubuntu's /etc/mysql/my.conf, I have:

bind-address = 192.168.2.20  # My external IP

It works fine from remote, but when I want to connect locally, the app that uses on MySQL says: java.net.ConnectException: Connection refused at com.mysql.jdbc.StandardSocketFactory.connect.

So when I want to work locally, I change my.cnf to:

bind-address = 0.0.0.0

And it starts working locally, but then it doesn't work from remote anymore.

How to make MySQL accesible both from remote AND local?

link|improve this question

possible duplicate of MySQL: Bind to more than one IP address? – ErikA Aug 18 '10 at 2:06
feedback

2 Answers

up vote 3 down vote accepted

Just comment out bind-address= altogether. When you do that, it will bind to all addresses. Also make sure that you don't have skip-networking enabled in your my.cnf.

link|improve this answer
Great, it works! Thanks a lot :-) – Nicolas Raoul Aug 18 '10 at 2:19
Awesome. Glad I could help! – ErikA Aug 18 '10 at 2:21
feedback

I've JUST got it to work using the command line tools on the server and remotely via php. Along with making sure skip-networking was hashed out (and our firewall rubbish), what I had to do was:

1) Try the command line tool on the server hosting the db (e.g. shell> mysql -h localhost -u root -p; enter password;)

2) Make a note of the / path it tries to connect from (ending with .sock)

3) Go into my.cnf and make sure in the [client] and [mysqld] sections that socket= the path you found in step 2

Dave

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.