文章目录
一、问题场景
使用docker容器控制数据库时,启动服务报错:
java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
二、问题分析及解决
2.1 问题分析
这个错误,是由于无法与数据库创建连接
2.2 问题解决
出现这个问题可能有多个原因,以下为可能出现错误的地方及解决方案
2.2.1 有改动未重启容器
有可能是新导入的数据库或者新启动虚拟机,容器需要重启生效
在虚拟机中执行重启命令 docker restart mysql(数据库容器名,我起的是mysql)
2.2.2 数据库配置不对
查看数据库配置是否正确,包括host地址,数据库名,用户名,密码等
我没有把一些参数写死,而是读取配置(也可以直接写死,无需后面配置),如图:
在实际环境中,不同的环境经常会有不同的参数,我这里有dev和local两套参数,我使用的是local,内容如下:
这样使用的话,启动项需要配置使用哪套参数(我用的local),方法如下:
选中对应的服务,右键,编辑配置
把Active profiles改成要使用的那套参数(我使用的local),点OK,重启服务
三、结束
任何疑问,欢迎私信指教/!!!
分享:
五月五日午,赠我一枝艾。
故人不可见,新知万里外。
丹心照夙昔,鬓发日已改。
我欲从灵均,三湘隔辽海。