环境
先说一下我的情况:
mysql 数据库版本:5.7
JDBC驱动版本:8.0
然后我是在docker运行的mysql和应用程序(配置了hosts的解析,同时配置了相同的networks)。但由于其他原因,本地的mysql占用了3306端口,所以在docker中运行的mysql使用的是3307端口(将3307映射到3306),在开发时,应用程序连接mysql(3307端口)是没有问题的,但将应用程序也打包到docker部署时,就会出问题了,出现了下面的报错信息。
从这也可以看出,这个不是兼容问题,8.0的驱动是可以连接5.7的数据库的,更加具体的说明可以参考mysql官方文档:
报错
下面是我的报错信息:
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java