无法用java连接到godaddy MySQL

时间:2012-10-03 18:28:27

标签: java mysql sql sql-server database

我正在尝试连接到mysql数据库,但我一直收到错误: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通讯链接失败

我知道网址是:“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 。那是什么意思?我需要吗?

由于

3 个答案:

答案 0 :(得分:2)

您需要将数据库名称放在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);
    }
}

您需要提供“host”和“datab”字符串值

答案 1 :(得分:0)

如果内存有效,GoDaddy可以选择几种不同的MySQL数据库实现。一个允许远程访问,一个不允许。你确定你选择了正确的吗?

您是否尝试过首先使用MySQL Workbench进行远程连接?甚至远程登陆港口?这将确保您拥有正确的数据库名称和远程连接权限。一旦你确认它有效,让代码工作应该更容易。

答案 2 :(得分:0)

我讨厌在旧的东西上添加一个新帖子,但是我遇到了与GoDaddy及其dbname.db相同的问题。######。hostedresource.com实现。当然,我查看了一些Overflow帖子,没有提到直接IP方法;希望我不会在这里打破一些GoDaddy代码。

任何人,我通过Workbench& amp;通过JDBC进入PHP管理页面并抓取直接IP到数据库 - 在我的情况下:

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