您的位置:首页 > 数据库 > MySQL

play连接mysql数据库报错 -[error] c.z.h.p.HikariPool - HikariPool-1 - Exception during pool initialization.

2018-02-07 16:03 811 查看
[info] application - Creating Pool for datasource 'default'

[error] c.z.h.p.HikariPool - HikariPool-1 - Exception during pool initialization.

java.sql.SQLNonTransientConnectionException: Could not create connection to database server.

        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:102)

        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)

        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:81)

        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:55)

        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:1027)

        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:843)

        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440)

        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)

        at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:221)

        at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:117)

Caused by: java.lang.ArrayIndexOutOfBoundsException: 73

        at com.mysql.cj.mysqla.io.Buffer.readInteger(Buffer.java:271)

        at com.mysql.cj.mysqla.io.MysqlaCapabilities.setInitialHandshakePacket(MysqlaCapabilities.java:62)

        at com.mysql.cj.mysqla.io.MysqlaProtocol.readServerCapabilities(MysqlaProtocol.java:491)

        at com.mysql.cj.mysqla.io.MysqlaProtocol.beforeHandshake(MysqlaProtocol.java:376)

        at com.mysql.cj.mysqla.io.MysqlaProtocol.connect(MysqlaProtocol.java:1404)

        at com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:218)

        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:975)

        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:843)

        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440)

        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)

[info] application - Creating Pool for datasource 'default'

[error] c.z.h.p.HikariPool - HikariPool-2 - Exception during pool initialization.

java.sql.SQLNonTransientConnectionException: Could not create connection to database server.

        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:102)

        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)

        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:81)

        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:55)

        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:1027)

        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:843)

        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440)

        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)

        at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:221)

        at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:117)

Caused by: java.lang.ArrayIndexOutOfBoundsException: 73

        at com.mysql.cj.mysqla.io.Buffer.readInteger(Buffer.java:271)

        at com.mysql.cj.mysqla.io.MysqlaCapabilities.setInitialHandshakePacket(MysqlaCapabilities.java:62)

        at com.mysql.cj.mysqla.io.MysqlaProtocol.readServerCapabilities(MysqlaProtocol.java:491)

        at com.mysql.cj.mysqla.io.MysqlaProtocol.beforeHandshake(MysqlaProtocol.java:376)

        at com.mysql.cj.mysqla.io.MysqlaProtocol.connect(MysqlaProtocol.java:1404)

        at com.mysql.cj.mysqla.MysqlaSession.connect(MysqlaSession.java:218)

        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:975)

        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:843)

        at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440)

        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)

[error] application -

! @76po34c2l - Internal server error, for (GET) [/] ->

错误报的比较诡异,既然提示数组越界,纠结了半天。突然想到我是新安装的mysql服务器。把ip地址修改成localhost发现可以正常连接。至此终于找到了问题,还是数据库配置的问题。

解决方案:

我的数据库服务安装在本地,首先本地连接上服务。将mysql数据库下的user表host字段的值改为“%”,之前默认为localhost。



必须记住的1点是需要重启数据库服务。不然有可能不生效。

重新启动play,发现数据库正常连接,至此问题完美解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql play config
相关文章推荐