Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 连接到Localhost MySQL数据库时出现问题_Java_Mysql_Jdbc - Fatal编程技术网

Java 连接到Localhost MySQL数据库时出现问题

Java 连接到Localhost MySQL数据库时出现问题,java,mysql,jdbc,Java,Mysql,Jdbc,我收到一个错误:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建到数据库服务器的连接。 编辑:链接到 下面是错误的最后一个“部分”,表示这是一个NullPointerException: at armyofdragons.mule.mysql.Database.<init>(Database.java:28) at Main.main(Main.java:6) Cause

我收到一个错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建到数据库服务器的连接。

编辑:链接到

下面是错误的最后一个“部分”,表示这是一个
NullPointerException

    at armyofdragons.mule.mysql.Database.<init>(Database.java:28)
    at Main.main(Main.java:6)
Caused by: java.lang.NullPointerException
    at com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:2997)
    at com.mysql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.java:1934)
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1863)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)
    ... 14 more
我已经使用了正确的模式/数据库名称、用户名、密码和所有其他需要的“要求”。我还将绑定地址设置为
127.0.0.1
,端口设置为
3306
。数据库处于联机状态,我已确保服务正在运行。

根据您的要求,您可以在DriverManager.getConnection()中使用实际的jdbc连接字符串,您尝试过吗

这种情况很可能也是MySql服务器与连接器版本不兼容的问题。仔细检查连接器版本


您的代码片段有点小,您可能需要更慷慨地粘贴

我发现了这个问题。我使用了错误版本的JDBC/J连接器。我之前看到的一篇StackerOverflow文章提供了将其添加到IntelliJ的解决方案,这篇文章很旧,我没有检查它是否是最新版本


对于任何想知道如何将其添加到IntelliJ的人,请转到项目结构->库->添加(+)->从Maven添加…->输入“mysql:mysql connector java:8.0.11”->单击“确定”。

您的连接字符串不完全是localhost,是吗?我的意思是你试过“jdbc:mysql:localhost”而不是“jdbc:mysql://127.0.0.1:3306"? 完整堆栈跟踪也可能有用。这基本上是完整堆栈跟踪,错误指向它创建连接@DriverManager.getConnection(URL、用户名、密码)的行@BobKuhar不起作用:java.sql.SQLException:在armyofdragons.mule.mysql.Database的java.sql.DriverManager.getConnection(DriverManager.java:689)的java.sql.DriverManager.getConnection(DriverManager.java:247)的jbdc:mysql:localhost中找不到合适的驱动程序。(Database.java:29)的Main.Main(Main.java:6)是的,我已经做到了,不幸的是,这没有什么不同。
connection = null;
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        }

        try {
            connection = DriverManager.getConnection(URL, "admin", "passwordcensored123");
        } catch (SQLException e) {
            e.printStackTrace();
        }