我最近把我的raspberry变成了一个web服务器,它可以通过ssh从网络内外连接。
但是,当我尝试使用dbcp(mysql连接器)连接到数据库(mariadb 10+apache2)时:
如果我在网络里,我可以连接到数据库
我曾经成功地从外部网络连接到我的服务器,但现在不是了。
相反,我得到了一个错误:
Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to blabla.com:8080 : unexpected end of stream, read 0 bytes from 4 (socket was closed by server)
at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:175)
at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:110)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1107)
at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:502)
at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:155)
at org.mariadb.jdbc.Driver.connect(Driver.java:86)
at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:53)
at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:279)
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2343)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2329)
... 14 more
我尝试的是:
将验证查询设置为 SELECT 1
增加超时时间
完全移除apche2+mariadb并重新设置
最后,他们都没有成功。
提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!