java.sql.SQLException:没有选择数据库通过tomcat连接时出现异常

时间:2015-03-18 18:31:04

标签: hibernate mariadb

我得到以下例外:

Caused by: java.sql.SQLException: No database selected
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2530)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1907)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2030)
        at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:82)
        ... 52 more

我使用CentOS 7和MariaDB(tomcat8 / java8)。我已经更改了maria db的my.cnf中的默认端口,然后 - >这个例外发生了。我使用hibernate,我已经更改了hibernate.cfg.xml中的端口

是否可以通过不同的端口连接到mysql?而不是3306或者这不推荐?

我已恢复到端口3306(默认),然后我得到以下异常:

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 17,287 milliseconds ago.  The last packet sent successfully to the server was 1 milliseconds ago.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)

谢谢

1 个答案:

答案 0 :(得分:0)

<强>解决

tomcat重启脚本(服务)是问题所在。可能重新启动服务器不干净并且连接池大小已被删除。

手动执行shutdown.sh和startup.sh - 问题&#34;解决了#34;。

谢谢!

相关问题