【发布时间】:2020-04-14 16:57:55
【问题描述】:
所以今天我决定如果我将我们的数据库移动到不同的服务器,我的网站会运行得更快,所以我这样做了,你可以在下面看到我是如何连接的:
final String driver = "com.mysql.jdbc.Driver";
final String url = "jdbc:mysql://external_ip_address_here:3306/dbname";
final String username = "user";
final String password = "pass";
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, username, password);
当我连接到127.0.0.1 / localhost 时,这工作正常,现在我收到此错误:
java.net.ConnectException MESSAGE:连接被拒绝(连接被拒绝)
我的 MySQL 服务器运行的是 Ubuntu 18.04。
我添加了多个防火墙规则来尝试并允许所有传入连接到端口 3306 - sudo ufw allow from any to any port 3306 proto tcp 并且我尝试了 iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT,但仍然无法正常工作,当我端口扫描网络时它显示端口 3306 已关闭
FIX 1:这修复了连接被拒绝错误 -
第一步:编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf
第 2 步:删除行 bind-address = 127.0.0.1
【问题讨论】:
-
external_ip_address_here 是否可达?如果启用,请尝试 ping。
-
很可能您没有正确配置数据库服务器上的所有内容,请检查此问题可能对您有所帮助:stackoverflow.com/questions/2318250/…
-
@Amanjangra 可访问
-
@Amanjangra 说 3306 端口已关闭
-
@MakeN 您是否尝试通过运行应用程序的盒子中的任何 sql 开发人员 IDE 连接它。