This discussion is archived
2 Replies Latest reply: Sep 26, 2012 10:48 AM by 964392 RSS

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications lin

964392 Newbie
Currently Being Moderated
I am using Mac OS X Lion version 10.8. I have MySQL installed through XAMPP. And I have added both mysql and the jdbc driver (5.1.22) to my classpath. The following simple code is not working:

package learning.database;

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

public class Simple {

     Connection getConnection() throws SQLException{
          String url = "jdbc:mysql://localhost/";
          return DriverManager.getConnection(url, "Tete", "bien");
     }
     
     void createDatabase(String database, Connection conn) throws SQLException{
          Statement stmt = null;
          try {               
               stmt = conn.createStatement();
               stmt.executeUpdate("drop database if exists "+database);
               stmt.executeUpdate("create database "+database);
          }finally {
               if(null != stmt)
                    stmt.close();
          }
     }
     
     public static void main(String args[]) throws Exception{
          /***
          * School, classrooms, and sports
          */
          String school = "school";
          Classroom cr = new Classroom();
          Connection conn = cr.getConnection();
          cr.createDatabase(school, conn);
     }     
}

When I run the code, I get the following error:

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. The driver has not received any packets from the server.
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:350)
     at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2408)
     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2445)
     at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2230)
     at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
     at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
     at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
     at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
     at java.sql.DriverManager.getConnection(DriverManager.java:582)
     at java.sql.DriverManager.getConnection(DriverManager.java:185)
     at learning.database.Classroom.getConnection(Classroom.java:43)
     at learning.database.Simple.main(Simple.java:33)
Caused by: java.net.ConnectException: Connection refused
     at java.net.PlainSocketImpl.socketConnect(Native Method)
     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
     at java.net.Socket.connect(Socket.java:529)
     at java.net.Socket.connect(Socket.java:478)
     at java.net.Socket.<init>(Socket.java:375)
     at java.net.Socket.<init>(Socket.java:218)
     at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:300)
     ... 16 more


Does anyone know how to fix this problem?

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points