在我的Ubuntu的/etc/mysql/my.conf ,我有:
bind-address = 192.168.2.20 # My external IP
它从远程工作正常,但是当我想要本地连接时, 在MySQL上使用的应用程序说: java.net.ConnectException: Connection refused at com.mysql.jdbc.StandardSocketFactory.connect 。
所以当我想在本地工作时,我将my.cnf更改为:
bind-address = 0.0.0.0
它开始在本地工作,但不能从远程工作了。
如何使MySQL从远程和本地访问?
只是注释掉bind-address= 。 当你这样做,它会绑定到所有的地址。 另外请确保您的my.cnf中没有启用skip-networking 。
我只是得到它使用服务器上的命令行工具,并通过PHP远程工作。 除了确保跳过networking(和我们的防火墙垃圾)之外,我所要做的是:
尝试托pipe数据库的服务器上的命令行工具(例如shell> mysql -h localhost -u root -p然后input密码)
记下它尝试连接的path(以.sock结尾)
进入my.cnf并确保在[client]和[mysqld]部分中, socket=包含您在步骤2中find的path。