简体   繁体   中英

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.

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";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM