在我的 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 可以从远程和本地访问?
答案1
只需全部注释掉即可bind-address=
。这样做后,它将绑定到所有地址。另外,请确保您没有skip-networking
在 my.cnf 中启用。
答案2
我刚刚使用服务器上的命令行工具并通过 php 远程使其工作。除了确保跳过网络(和我们的防火墙垃圾)已解决之外,我必须做的是:
尝试托管数据库的服务器上的命令行工具(例如,
shell> mysql -h localhost -u root -p
然后输入密码)记下它尝试连接的 / 路径(以 .sock 结尾)
进入
my.cnf
并确保[client]
和[mysqld]
部分socket=
包含您在步骤2中找到的路径。