Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从netbeans/java连接到linux服务器上的mySQL服务器时遇到问题_Java_Mysql_Netbeans - Fatal编程技术网

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

从netbeans/java连接到linux服务器上的mySQL服务器时遇到问题,java,mysql,netbeans,Java,Mysql,Netbeans,我无法通过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:33

我无法通过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..”行,没有抛出异常。

请尝试,不要结束斜杠

URL=“jdbc:mysql://john.myschool.edu:3306/cs3610/“

URL=“jdbc:mysql://john.myschool.edu:3306/cs3610“


或者您有一个名为“cs3610/”的数据库。

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

MySQL Workbench的设置首先打开到SSH服务器的SSH连接,然后连接到数据库服务器(通常是
localhost
127.0.0.1
)。因此,MySQL连接实际上是从SSH服务器启动的。因此,通过该通道进行连接的能力仅表明,如果您的java代码在正在进行SSH的服务器上运行,则该代码可以正常工作。但是,当您尝试从另一台机器上运行代码时,可能仍然存在防火墙或MySQL权限问题


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

一些服务器内置了IP控制。您可以与托管服务讨论,以确定是否允许任何IP连接数据库。我可以从同一台计算机上的MySQLWorkbench连接到服务器。如果通过NetBeans,我会有不同的IP吗?