【问题标题】:mySQL connection won't workmySQL 连接不起作用
【发布时间】:2017-08-12 21:04:46
【问题描述】:

我只是无法使用 Eclipse 连接到 mySQL,也不知道为什么。

这是我的连接类:

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 ) {
            }
        }
    }
}
}

这是控制台中的结果:

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

我在文件 WebContent/WEB-INF/lib 中有连接器 (mysql-connector-java-5.1.41-bin.jar)。

我在我的 Mac 上安装了 mySQL。 我安装了 MAMP,我可以访问 phpmyadmin 并添加一个新数据库,但这有点奇怪,phpmyadmin 已经被记录为默认值,单击“退出”按钮并没有断开我的连接,我不知道为什么..

phpmyadmin 的网址是: http://localhost:8888/phpmyadmin/index.php

为什么我无法连接到 mySQL ?

编辑: 在 MAMP 上检查 mySQL 端口后,我使用正确的端口 (8889) 更改了我的 url,但控制台的输出没有任何变化。

【问题讨论】:

  • 如果phpmyadmin在8888端口,那我觉得你的mysql也不可能在8888端口。你能检查一下吗?
  • 可以发一下连接字符串吗?
  • 显然是 8889,但在 url 中更改它不会更改控制台上的结果。
  • 连接字符串是什么意思?
  • getConnection方法的url参数

标签: java mysql eclipse


【解决方案1】:

MySQL 和 phpMyAdmin 不能在同一个端口上。

您确定您的 MySQL 没有在默认端口上运行吗? 3306

更新:

如果您还没有使用 Maven,请这样做。它将帮助您管理您的包裹。这样你就可以避免你的方法:loadingDrive()

我刚刚使用测试数据库在本地运行您的代码。对我来说运行良好。

我对您的代码进行了以下更改:

我删除了loadingDrive()request 更改为static String request = "SELECT 1";。此查询字符串适用于测试与数据库的连接是否正常工作。

我将请求打印到控制台:

result = statement.executeQuery(request);

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

我将 mysql jdbc 连接器添加到我的 pom.xml 文件中:

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

之后我运行了代码,这是控制台输出:

will connect
Connected
true

我仍然认为你的 MySQL 端口是错误的。你在本地运行 MySQL 吗?可以用 phpMyAdmin 连接吗?

我尝试更改 url 以包含错误的端口。然后我收到了:

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

所以我坚信你的端口是错误的。您可以尝试将您的url 更改为以下内容吗?

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

【讨论】:

  • 显然是 8889,但在 url 中更改它不会更改控制台上的结果。
  • 我在运行你的代码后更新了我的答案。我可以成功执行您的代码而不会出错。如果您需要更多帮助,请告诉我。
  • 非常感谢您的帮助,奇怪的是phpmyadmin总是登录,当我点击“退出”时我无法注销,除了我可以创建数据库、表依此类推,所以我猜 mySQL 运行正常(MAMP 也说 mySQL 已打开)。但是我无法弄清楚登录名和密码是什么,因为我无法注销,我尝试通过 phpmyadmin 创建一个新用户并连接其登录信息,但它仍然无法正常工作。端口错了,居然是8889,我改了还是连接不上..
  • 没问题。至少您现在知道您的代码可以运行。在过去的 7 年里,我没有使用 phpMyAdmin,我习惯于通过控制台或 mysql 工作台与 mysql 交互。所以我不知道你为什么不能退出。但是如果您可以在 phpMyAdmin 中执行查询,那么您可以创建一个新用户并尝试在 Java 中与该用户连接。 digitalocean.com/community/tutorials/…(建议你停止使用phpMyAdmin,改用mysql workbench)
  • 我知道您使用的是 MAMP,但 XAMPP 非常相似。我可能已经为您的注销问题找到了解决方案:stackoverflow.com/questions/23427098/…
猜你喜欢
  • 1970-01-01
  • 2017-01-24
  • 2017-10-11
  • 2015-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 2012-12-20
相关资源
最近更新 更多