gpt4 book ai didi

java - 从 netbeans/java 连接到 linux 服务器上的 mySQL 服务器时遇到问题

转载 作者:行者123 更新时间:2023-11-29 02:03:42 25 4
gpt4 key购买 nike

我无法通过 netbeans 连接到托管在 linux 服务器上的 MySQL 服务器。

当通过 MySQL Workbench“通过 ssh 的标准 TCP/IP”连接时,所有这些凭据都有效。

这是我的代码:

public class Database {
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://john.myschool.edu:3306/cs3610";
private static final String USERNAME = "mbrooke";
private static final String PASSWORD = "mypass";
private Connection connection;

public Database() throws Exception{
try{
connect();
}catch(SQLException e){
if(connection !=null){
connection.close();
}
}
}

//Open connection to database
private void connect() throws Exception{
connection = null;
Class.forName (DRIVER).newInstance ();
connection = DriverManager.getConnection(URL,USERNAME,PASSWORD);

}

我在开始“connection = DriverManager...”的行上收到带有#521 的 SQLException,我不确定是什么导致了这个问题。驱动程序似乎已正确安装,因为在单步执行时,我让它通过了“Class.forName(D...”行,没有抛出任何异常。

最佳答案

听起来您的数据库服务器没有打开端口 3306,或者您的 MySQL 凭据不允许使用远程连接。

MySQL Workbench 的 TCP/IP over SSH设置首先打开到 SSH 服务器的 SSH 连接,然后连接到数据库服务器(通常是 localhost127.0.0.1)。所以MySQL连接实际上是从SSH服务器发起的。因此,通过该 channel 连接的能力仅表明您的 java 代码可以工作如果它在您通过 SSH 访问的服务器上运行。但是当您尝试从另一台机器运行代码时,您可能仍然遇到防火墙或 MySQL 权限问题。

我会尝试将 MySQL 客户端下载到您的机器上,看看您是否可以使用该方法进行连接:mysql -h myDatabaseServer.school.edu cs3610 -u mbrooke -p'mypass' 看看是否可以这样可行。您可能会收到“连接不可用”错误或“用户 mbrooke 没有远程访问权限”,这应该让您深入了解您面临的问题。

关于java - 从 netbeans/java 连接到 linux 服务器上的 mySQL 服务器时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10235143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com