咨询电话:
15628812133
16
2023/09

数据导入时提示SQLSTATE[HY000] [2002] Connection refused报错

发布时间:2023-09-16 11:39:01
发布者:赵小华
浏览量:
0

docker是一款比较好用的容器工具,可以快速的把项目进行部署,不受操作系统的限制,有一些纯内网项目中,不方便搭建对应环境而且环境也比较麻烦的时候,我们公司一般会采用docker进行快速部署,今天使用docker部署项目时,执行对应的mysql数据导入工具出现了下面的提示。

SQLSTATE[HY000] [2002] Connection refused报错

sqlstate2002错误,这是无法连通mysql数据库服务器,我本地测试mysql连接一切正常,那只能是容器和宿主机通信出了问题,检查了下数据库的配置文件,看到DB_host是127.0.0.1,容器的ip是172.17.0.2,通过ifconfig看到本地的docker网络连接的ip是172.17.0.1,那么我们就把配置文件修改为和docker同一网段即可,但是还需要注意需要把数据库对应的访问权限设置为容器的IP172.17.0.2,不然非172.17.0.2连接mysql服务器依然会拒绝。

docker容器内应用程序配置文件

设置完成后,重新在执行下导入数据库的脚本,发现数据库正常连接了,数据库文件也能够正常导入了。

docker容器中数据库导入成功

docker容器和宿主机需要对应的IP进行关联,127.0.0.1可以在和宿主机共享网络的情况下使用,这种情况下docker容器端口和宿主机端口不能相同,不然也会产生端口冲突的情况。

关键词:
返回列表