linux上安装geoserver连接mysql报错CannotcreatePoolableConnectionFactory解决办法

前言:最近项目上要把geosever部署在linux上然后连接mysql,但是连接mysql的时候总是报错 Cannot create PoolableConnectionFactory,折腾了一天总算解决了,这里记录一下。
如前面所言,这事真有点灵异事件的意思了,我用windows系统上的geoserver可以成功连接mysql数据库,怎么用linux上的geoserver就不行了呢?几经baidu都没有搜索到答案,只好换用google来看,结果还真给我找到了,这里不得不说google是真的牛皮。
我们遇到的问题是这样的:
linux上安装geoserver连接mysql报错CannotcreatePoolableConnectionFactory解决办法
 
Cannot create PoolableConnectionFactory,翻译过来就是无法创建连接池工厂。对于这一个错误,可以参考这个链接 点我跳转,原来linux上的geoserver默认是使用的SSL协议来连接的mysql,如果想禁用SSL,则在geoserver的连接数据库的页面中,在数据库的名称后,加上?useSSL=false
如:
linux上安装geoserver连接mysql报错CannotcreatePoolableConnectionFactory解决办法
 
我们知道java中连接mysql的应该这么传参:
    jdbc:mysql://hostname/ databaseName
当我们在加了?useSSL=false以后,参数就变成了
     jdbc:mysql://hostname/ databaseName?useSSL=false
这样一来,我们就可以正确的连接到mysql了。
linux上安装geoserver连接mysql报错CannotcreatePoolableConnectionFactory解决办法
 
上面的链接中还给出了另一种解决办法,即将连接字符串改成:
jdbc:mysql://hostname/ databaseName? enabledTLSProtocols=TLSv1.2
相应的,我们只需要在geoserver的页面中,在数据库名称后跟上
?enabledTLSProtocols=TLSv1.2
就行了,geoserver在后台拼接的时候,会自动把它拼接好的。
总结:虽然我们最终解决了在linux上使用geoserver连接mysql的问题,但是还有一个问题没有弄明白,那就是为什么在windows上geoserver不用做任何多余设置就可以直接连接,而在linux上需要禁用SSL协议,难道windows上使用的是TLS协议吗?答案有待后续和读者共同验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AIGIS.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值