【发布时间】:2011-07-03 13:46:25
【问题描述】:
我通过 Java 连接到 MySQL 时遇到异常。我下载了 MySQL Java 连接器并将其添加到 classpath。我正在尝试连接到 MySQL 表但没有成功。
我也尝试过telnet localhost 3306,但出现以下错误:“nodename nor servname provided, or not known”
代码如下:
//import java.sql.Connection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class ConnectToDatabase {
public static void main(String[] args) throws Exception{
//Accessing driver from the JAR file
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/cldatabase", "root", "root");
//Here we create our query
PreparedStatement statement = con.prepareStatement(
"SELECT * FROM profiles");
ResultSet result = statement.executeQuery();
while(result.next()){
System.out.println(result.getString("firstName") + " " +
result.getString("lastName"));
}
}
并且抛出了这个异常:
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.
CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago.
我的 Mac 上安装了 xampp。
这是我运行“ps -ef | grep mysql”时出现的结果
0 1694 1 0 0:00.02 ?? 0:00.03 /bin/sh /Applications/XAMPP/xamppfiles/bin/mysqld_safe --datadir=/Applications/XAMPP/xamppfiles/var/mysql --pid-file=/Applications/XAMPP/xamppfiles/var/mysql/Ts- sMacBook-Air.local.pid -2 1792 1694 0 0:00.07 ?? 0:00.28 /Applications/XAMPP/xamppfiles/sbin/mysqld --basedir=/Applications/XAMPP/xamppfiles --datadir=/Applications/XAMPP/xamppfiles/var/mysql --user=nobody --log-error=/Applications /XAMPP/xamppfiles/var/mysql/k-Air.local.err --pid-file=/Applications/XAMPP/xamppfiles/var/mysql/-MacBook-Air.local.pid --socket=/Applications/XAMPP/ xamppfiles/var/mysql/mysql.sock --port=3306 501 1814 1484 0 0:00.00 ttys000 0:00.00 grep mysql
【问题讨论】:
-
Ummm... 如果 telnet 找不到您的数据库,您还能指望什么?它显然没有运行或没有在该端口上运行。