【发布时间】:2016-12-17 12:27:18
【问题描述】:
编辑: 我正在尝试连接到我的数据库,但我被卡住了。 我收到以下错误:
我有一个 mysql 数据库并使用 phpMyAdmin 访问它。
这是我的代码(已更新):
public class DBConnection
{
static String user = "ademphotography_dk_financesjava";
public static String pass = "******";
private static String db = "ademphotography_dk_financesjava";
protected static String url = "jdbc:mysql://ademphotography.dk.mysql";
public static Connection getConnection()
{
Connection conn;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = (Connection) DriverManager.getConnection(url+"/"+db, user, pass);
return conn;
} catch(Exception e) {
e.printStackTrace();
return null;
}
}
我已经尝试使用主机的 IP:
Protected static String url = "jdbc:mysql://XX.XX.X.XX:3306";
但这反而导致了这个错误(但现在我对“未知主机”没有问题):
Caused by: java.net.ConnectException: Connection timed out: connect
【问题讨论】:
-
我相信您可以在输出中看到一些异常?你也可以发布堆栈跟踪吗?
-
URL 中不需要端口(如 3306)吗?看看这里:dev.mysql.com/doc/connector-j/5.1/en/…
-
“我被卡住了”提供的关于您所观察到的行为的有用信息非常少。是否返回 MySQL 错误?客户端能否将主机名解析为 IP 地址?进程是否挂起? mysql 命令行客户端或任何其他客户端可以从同一台机器连接吗? (@ArthurNoseda:端口应该是可选的。如果没有提供,它应该默认为 3306,并且只有在 MySQL 运行的端口不是 3306 时才需要提供。
-
@ArthurNoseda 不,你没有。将使用默认端口 (3306)。
-
这是我得到的错误信息:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 最后一个成功发送到服务器的数据包是 0 毫秒前。驱动没有从服务器收到任何数据包。
标签: java mysql phpmyadmin