一般JDBC设置
所以我有一个MySQL数据库设置在Debian服务器上,它从phpMyAdmin客户端工作正常。我目前正在编写一个项目来编写一个Java服务器,该服务器能够通过JDBC连接使用已经在此服务器上的MySQL数据库。我已经看过很多教程和文档,但他们都似乎只是解释如何做客户端代码,但我还没有弄清楚如何成功地打开到服务器的JDBC连接。就我而言,我相信程序已经正确设置了驱动程序,因为它不再崩溃(我只是将我的程序的Java Build Path指向由MySQL提供的Connector/J)。至于我的程序去,这是什么样子......一般JDBC设置
import java.sql.*;
public class JDBCTest {
public static void main(String[] args) {
System.out.println("Started!");
try {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
System.out.println("Driver registered. Connecting...");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/", "root", "password");
System.out.println("Connected!");
conn.close();
} catch (SQLException e) {
System.out.println("Error!");
e.printStackTrace();
}
}
}
这是集团的印刷什么...
Started!
Driver registered. Connecting...
就好像给DriverManager.getConnection(字符串)只是冻结有。我确定这是服务器的问题,因为当我故意拼错本地主机或IP地址时,程序在20秒内崩溃。这只是永远挂在那里。
对不起,我的最后一个问题是,如果任何人有任何信息我应该做的或安装在服务器上以使其工作?非常感谢!
尝试以下操作:
public class MySqlDemo {
public static void main(String [] args) {
java.sql.Connection conn = null;
System.out.println("SQL Test");
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = java.sql.DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test?user=root&password=");
}
catch (Exception e) {
System.out.println(e);
System.exit(0);
}
System.out.println("Connection established");
}
- 尝试把端口号和模式有
- 尝试使用某些SQL客户端登录到数据库中,可以SQL控制台
- 尝试其他司机,可能会出现一些新的或者是旧的
你必须提供您要连接的架构的名称。通常,该端口也被添加。
这是一个示例的连接字符串:
jdbc:mysql://repos.insttech.washington.edu:3306/johndoe?user=johndoe&password=jddb
3306是端口和输入johndoe的第一个实例是架构的名称。 johndoe的第二个实例是用户名。
提及模式的+1。 – 2011-01-06 08:05:20
可能是Connector/J库试图使用命名管道连接到MySQL服务器而不是使用TCP/IP,并且出于某种原因命名管道不可用。尝试指定一个端口号。
您可能还想尝试打开here中描述的Connector/J的配置中的某些日志记录。
你尝试添加端口号的连接字符串? – 2011-01-06 07:34:32
检查登录历史记录以查看连接是否到达服务器。在linux上,你可以这样做:通过选项--log =“log-file”选项启动mysql服务器可以启用Mysql登录日志。 /usr/bin/safe_mysqld --log =“/ var/lib/mysql/mysql.log”& 将在/var/lib/mysql/mysql.log文件中记录Mysql日志。尾部此文件以查看日志。要仅查看登录名(连接日志),请使用以下命令: grep Connect /var/lib/mysql/mysql.log – Koekiebox 2011-01-06 07:47:58