Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:无法连接到mySql数据库_Java_Mysql_Sql_Exception_Connection - Fatal编程技术网

Java:无法连接到mySql数据库

Java:无法连接到mySql数据库,java,mysql,sql,exception,connection,Java,Mysql,Sql,Exception,Connection,我刚刚建立了一个本地mySql数据库。我可以通过命令行和第三方软件(Navicat…)正确连接到它 服务器:localhost:3306 用户:root 密码:密码 数据库名称:students 然而,当我尝试连接java时,我得到了一个错误 代码: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import j

我刚刚建立了一个本地mySql数据库。我可以通过命令行和第三方软件(Navicat…)正确连接到它

服务器:
localhost:3306

用户:
root

密码:
密码

数据库名称:
students

然而,当我尝试连接java时,我得到了一个错误

代码:

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

public class Sql {

   public static void main(String[] args) {

    Connection conn = null;

    try {

        Class.forName("com.mysql.jdbc.Driver");

        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students?autoReconnect=true&useSSL=false",
                "root", "password");

        Statement sqlState = conn.createStatement();


    } catch (SQLException ex) {

        System.out.println("SQLException" + ex.getMessage());
        System.out.println("SQLException" + ex.getSQLState());

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

   }

}
SQLExceptionCould not create connection to database server. Attempted reconnect 3 times. Giving up.
SQLException08001
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students", "root", "password");
输出:

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

public class Sql {

   public static void main(String[] args) {

    Connection conn = null;

    try {

        Class.forName("com.mysql.jdbc.Driver");

        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students?autoReconnect=true&useSSL=false",
                "root", "password");

        Statement sqlState = conn.createStatement();


    } catch (SQLException ex) {

        System.out.println("SQLException" + ex.getMessage());
        System.out.println("SQLException" + ex.getSQLState());

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

   }

}
SQLExceptionCould not create connection to database server. Attempted reconnect 3 times. Giving up.
SQLException08001
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students", "root", "password");
也尝试过:

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

public class Sql {

   public static void main(String[] args) {

    Connection conn = null;

    try {

        Class.forName("com.mysql.jdbc.Driver");

        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students?autoReconnect=true&useSSL=false",
                "root", "password");

        Statement sqlState = conn.createStatement();


    } catch (SQLException ex) {

        System.out.println("SQLException" + ex.getMessage());
        System.out.println("SQLException" + ex.getSQLState());

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

   }

}
SQLExceptionCould not create connection to database server. Attempted reconnect 3 times. Giving up.
SQLException08001
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students", "root", "password");

其他尝试:

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

public class Sql {

   public static void main(String[] args) {

    Connection conn = null;

    try {

        Class.forName("com.mysql.jdbc.Driver");

        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students?autoReconnect=true&useSSL=false",
                "root", "password");

        Statement sqlState = conn.createStatement();


    } catch (SQLException ex) {

        System.out.println("SQLException" + ex.getMessage());
        System.out.println("SQLException" + ex.getSQLState());

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

   }

}
SQLExceptionCould not create connection to database server. Attempted reconnect 3 times. Giving up.
SQLException08001
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students", "root", "password");
防火墙已禁用

我通过将.bin.jar放入以下位置来安装Jconnector:

C:\ProgramFiles\Java\jdk1.8.0\U 73\jre\lib\ext

我可以在Eclipse中的JRE下面的左侧看到它,导入没有给出错误

注意事项:

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

public class Sql {

   public static void main(String[] args) {

    Connection conn = null;

    try {

        Class.forName("com.mysql.jdbc.Driver");

        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students?autoReconnect=true&useSSL=false",
                "root", "password");

        Statement sqlState = conn.createStatement();


    } catch (SQLException ex) {

        System.out.println("SQLException" + ex.getMessage());
        System.out.println("SQLException" + ex.getSQLState());

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

   }

}
SQLExceptionCould not create connection to database server. Attempted reconnect 3 times. Giving up.
SQLException08001
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306//students", "root", "password");
从终端、工作台或Navicat使用mySQL不会出现错误,任何查询都有效,本地服务器运行正常,凭据正确,用户拥有完全的管理权限


有什么建议吗?

此异常可能有4个原因:

  • 用户没有连接到数据库的权限
  • MySQL服务未运行
  • 不正确的MySQL连接器Jar
  • 数据库URL不正确
    在连接MySQL数据库之前,请检查上述先决条件。

    我最近遇到了类似问题。我的问题是MySQL服务器版本是8.0.19,而flyway使用的是java MySQL库的5.1.40版本


    一旦我将MySQL库版本更新到8.0.19,我的错误就消失了。

    你可以通过MySQL控制台或Workbenchys登录吗?正如我在开头所写的那样。它不应该是
    localhost:3306/students
    ?不确定,请尝试更改mysql连接器jar@Fast蜗牛哈哈,你说得对,是本地主机:3306/学生。我讨厌打字错误,非常感谢,先生,现在一切都正常了。