vbuzze
vbuzze

Reputation: 940

mySQL connection won't work

I just can't connect to mySQL using Eclipse and can't figure out why.

Here is my connection class :

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class ConnexionBDD {

static String url = "jdbc:mysql://localhost:8888/Peoples?autoReconnect=true&useSSL=false";
static String login = "root";
static String password = "";

static Connection connection = null;
static Statement statement = null;
static ResultSet result = null;
static String request = "";

public static void main (String[] args) {

    System.out.println("will load driver");
    loadingDrive();
    System.out.println("will connect");
    connection();

}

public static void loadingDrive() {
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch ( ClassNotFoundException e ) {
        e.getMessage();
    }
}

public static void connection() {
    try 
    {
       connection =  (Connection) DriverManager.getConnection(url, login, password);
       System.out.println("Connected");
       statement = (Statement) connection.createStatement();

       result = statement.executeQuery(request);

    } 
    catch ( SQLException e ) 
    {
        System.out.println(e.getMessage());
    } finally {
        if ( result != null ) {
            try {
                result.close();
            } catch ( SQLException ignore ) {
            }
        }
        if ( statement != null ) {
            try {
                statement.close();
            } catch ( SQLException ignore ) {
            }
        }
        if ( connection != null ) {
            try {
                connection.close();
            } catch ( SQLException ignore ) {
            }
        }
    }
}
}

Here is the result in the console :

will load driver
will connect
Could not create connection to database server. Attempted reconnect 3 times. Giving up.

I have the connector (mysql-connector-java-5.1.41-bin.jar) in the file WebContent/WEB-INF/lib.

I installed mySQL on my mac. I installed MAMP, I can reach phpmyadmin and add a new database, but it's kind of weird though, phpmyadmin is already logged as default and clicking the "Exit" button does not disconnect me I don't know why..

The url of phpmyadmin is : http://localhost:8888/phpmyadmin/index.php

Why can't I connect to mySQL ?

EDIT : I changed my url with the right port (8889) after checking out the mySQL port on MAMP, but nothing changed in the output of the console.

Upvotes: 0

Views: 912

Answers (1)

kkflf
kkflf

Reputation: 2570

MySQL and phpMyAdmin cannot be on the same port.

Are you sure that your MySQL is not running on the default port? 3306

UPDATE:

If you are not already using Maven, please do so. It will aid you in managing your packages. That way you can avoid your method: loadingDrive()

I just ran you code locally with a test database. It runs fine for me.

I did the following changes to your code:

I removed the loadingDrive() Altered request to static String request = "SELECT 1";. This query string is good for testing if the connection to the database is working properly.

I printed the request to the console:

result = statement.executeQuery(request);

System.out.println(result.next());

I added the mysql jdbc connector to my pom.xml file:

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.6</version>
</dependency>

After this I ran the code and this is the console output:

will connect
Connected
true

I still think your MySQL port is wrong. Do you run MySQL locally? Can you connect to it with phpMyAdmin?

I tried to change the url to contain the wrong port. I then received:

Could not create connection to database server. Attempted reconnect 3 times. Giving up.

So I strongly believe that your port is wrong. Can you try to change your url to the following?

static String url = "jdbc:mysql://localhost:3306/Peoples?autoReconnect=true&useSSL=false";

Upvotes: 1

Related Questions