首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >连接到本地主机MySQL数据库时出现问题

连接到本地主机MySQL数据库时出现问题
EN

Stack Overflow用户
提问于 2018-07-12 14:15:41
回答 2查看 511关注 0票数 1

我收到一个错误:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

编辑:链接到Stack Trace

这是错误的最后一个“部分”,说它是一个NullPointerException

代码语言:javascript
复制
    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

`

我的网址字符串:"jdbc:mysql://127.0.0.1:3306/schemaname?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT“

我的连接代码片段:

代码语言:javascript
复制
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();
        }

我已经使用了正确的模式/数据库名称、用户名、密码以及所需的所有其他“要求”。我还将绑定地址设置为127.0.0.1,将端口设置为3306。数据库已联机,并且我已确保服务正在运行。

EN

回答 2

Stack Overflow用户

发布于 2018-07-13 06:28:45

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

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

票数 2
EN

Stack Overflow用户

发布于 2018-07-12 17:06:06

根据https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-connect-drivermanager.html,您可以在DriverManager.getConnection()中使用实际的jdbc连接字符串,您尝试过吗?

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

您的代码片段有点小,您可能希望粘贴得更大方一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51298450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档