从netbeans/java连接到linux服务器上的mySQL服务器时遇到问题
我无法通过netbeans连接到托管在linux服务器上的MySQL服务器 当通过MySQL Workbench“通过ssh的标准TCP/IP”进行连接时,所有这些凭据都有效 这是我的密码:从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
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吗?