MySql连接被拒绝-Java [重复]
Posted
技术标签:
【中文标题】MySql连接被拒绝-Java [重复]【英文标题】:MySql Connection Refused - Java [duplicate] 【发布时间】: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。 很可能您没有正确配置数据库服务器上的所有内容,请检查此问题可能对您有所帮助:***.com/questions/2318250/… @Amanjangra 可访问 @Amanjangra 说 3306 端口已关闭 @MakeN 您是否尝试通过运行应用程序的盒子中的任何 sql 开发人员 IDE 连接它。 【参考方案1】:检查服务器防火墙配置。这可能是您的问题的原因。在防火墙设置中添加允许从您的 URL 进行连接的新规则。
【讨论】:
我添加了多个防火墙规则以尝试并允许所有传入连接到端口 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 已关闭
尝试重启iptables服务,你用的是哪个操作系统?
ubuntu 18.04,此错误现在已修复,正如您在编辑后的消息中看到的那样,我遇到了一个新问题 - java.sql.SQLException: Access denied for user 'user'@'hostname' (using password: YES)
,我使用了正确的详细信息。
看这个,这可能对***.com/a/43088226/5804036有帮助
遗憾的是它没有,我可能会为此创建一个新问题以获得更多答案,有没有办法让我关闭这个?【参考方案2】:
这修复了连接被拒绝错误 -
第一步:编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf
第 2 步:删除行 bind-address = 127.0.0.1
【讨论】:
以上是关于MySql连接被拒绝-Java [重复]的主要内容,如果未能解决你的问题,请参考以下文章
PHP + MYSQL + Laravel - “SQLSTATE [HY000] [2002] 连接被拒绝” [重复]
Spring Boot MySQL Docker 引起:java.net.ConnectException:连接被拒绝(连接被拒绝)
java.net.ConnectException:连接被拒绝
我无法显示来自 mysql 数据库的数据,而是告诉我访问被拒绝 [重复]
Spring Boot,Java,Docker Compose,尝试在两个容器(mysql,my-api)之间建立连接时出现“连接被拒绝”