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,发现数据库正常连接,至此问题完美解决。
[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,发现数据库正常连接,至此问题完美解决。
相关文章推荐
- Error occurred during initialization of VM due to java.nio.charset.IllegalCharsetNameException
- Error occurred during initialization of VM Could not reserve enough space for object heap
- Java与mysql数据库编程中遇见“Before start of result set at com.mysql.jdbc.SQLError.createSQLException” 的解决办法
- 运行java出现Error occurred during initialization of VMjava/lang/NoClassDefFoundError: java/lang/Object解决
- spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法
- java注释使用及error occurred during initialization of vm解决方法
- node.js服务器mysql数据库连接超时的问题(Error: connect ETIMEDOUT)
- Error:System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误,请检查远程连接是否开启。解决方法
- Error occurred during initialization of VM java/lang/NoClassDefFoundError
- tomcat Error occurred during initialization of VM Could not reserve enough space for ?KB object heap
- linux 安装jdk出现Error occurred during initialization of VM java/lang/NoClassDefFoun
- DefaultDispatcherErrorHandler: Exception occurred during processing request
- org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting
- MySql数据库连接失败--org.apache.tomcat.dbcp.dbcp.SQLNestedException
- PBM error occurred during PreCloneCheckCallback: 由于目标计算机积极拒绝,无法连接
- 解决 Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/O...
- cocos2dx 安卓编译报 An internal error occurred during: "C/C++ Indexer". java.lang.NullPointerException
- Error occurred during initialization of VM Could not reserve enough space for object heap Could not
- Django连接MySQL数据库时出错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No mo
- SQL*Net not properly installed——PLSQL连接ORACLE Initialization error