Can';t使用java连接到godaddy MySQL

Can';t使用java连接到godaddy MySQL,java,mysql,sql,sql-server,database,Java,Mysql,Sql,Sql Server,Database,我正在尝试连接到mysql数据库,但不断出现错误: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障 我知道url应该是:“jdbc:mysql://server-url:3306" 代码如下: import java.sql.Connection; import java.sql.DriverManager; public class FT_Database_Connection{ private Connectio

我正在尝试连接到mysql数据库,但不断出现错误: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障

我知道url应该是:“jdbc:mysql://server-url:3306"

代码如下:

import java.sql.Connection;
import java.sql.DriverManager;

public class FT_Database_Connection{
private Connection connection;

public FT_Database_Connection(String url, String username, String password){
    try{
        System.out.println("Loading driver...");
        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("Driver loaded!");

        String user = username;
        String db_pw = password;
        System.out.println(url);
        System.out.println(username);
        System.out.println(password);
        Connection test = DriverManager.getConnection(url, user, db_pw);

    }catch(Exception e){
        System.out.println("Couldn't get database connection.");
        e.printStackTrace();
    }
}

public Connection get_connection(){
    return this.connection;
}

}
有什么想法吗

另外,Godaddy问我是否想要DSN。那是什么意思?我需要它吗


谢谢

您需要将数据库名称放在MySQL端口后面(:3306/DB_name)。以下是我的一个连接:

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;

public class MySQL{

    static Connection connect;
    public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {
    Credentials();

    Class.forName ("com.mysql.jdbc.Driver").newInstance ();

    String url = "jdbc:mysql://" + host + ":3306/" + datab;

    Driver test = DriverManager.getDriver(url);
    // testing to make sure i'm using the correct
    //driver and further testing host
    System.out.println(test);
    connect = DriverManager.getConnection(url, userName, password);

    System.out.println ("Connected to " + host);
    }
}

您需要提供“主机”和“数据”字符串值

如果内存可用,GoDaddy有两种不同的MySQL DB实现,您可以选择。一个允许远程访问,一个不允许。你确定你选择的是正确的吗


您是否尝试过先使用MySQL Workbench远程连接?或者甚至是远程登录到港口?这将确保您拥有正确的数据库名称和远程连接权限。一旦你能确认它是有效的,那么让代码工作起来应该会更容易。

我不喜欢在这么旧的东西上添加新的帖子,但是我在GoDaddy和他们的dbname.db中遇到了同样的问题。###########。hostedresource.com实现。诚然,我看到了一些溢出的帖子,没有提到直接IP方法;希望我没有破坏一些戈达迪密码

任何人,我能够通过我的工作台&通过JDBC进行连接的唯一方法是转到PHP管理页面并获取数据库的直接IP——在我的例子中:

private static final String URL = "jdbc:mysql://11.11.111.11:3306/dbname";

我无法在工作中查找GoDaddy,但URL字符串中的某个地方必须是将MySQL数据库标识为MySQL数据库的内容。服务器url太通用。很大程度上取决于您的GoDaddy配置。通常,它们仅将数据库服务器的连接限制为内部网络。因此,如果您没有在GoDaddy服务器上运行Java代码,那么通过他们的防火墙连接可能会出现问题。您确定使用的是DB名称而不是表名称吗?在上面发布完整的(工作)类文件…一秒
String url=“jdbc:mysql://”+host+“:3306/”+datab正是我所需要的。非常感谢。