在 docker 容器远程连接上运行的 mysql 服务器显示在查询期间与服务器失去连接

问题描述 投票:0回答:1

我有一个正在运行的 docker mysql 容器,我用这行代码创建了容器:

docker run -e MYSQL_ROOT_PASSWORD=some_pass -d -p 3308:3306 mysql

我可以使用 navicat 连接到数据库并将我的数据库复制到其中,同时我的后端服务器在同一台 Linux 机器上的另一个 docker 容器上运行可以连接和查询数据库。问题是我的navicat突然无法通过3308端口连接到mysql服务器 该端口已在远程打开:

docker-pr 80243 root 4u IPv4 3912727 0t0 TCP *:3308(监听) docker-pr 80248 root 4u IPv6 3912732 0t0 TCP *:3308(监听)

但是现在当我想连接 navicat 时它显示此错误:

在查询期间失去与服务器的连接

过了一会儿,我在 navicat 上进行了测试连接。 有趣的是,连接今天工作了几个小时,之后又出现问题,我没有对远程计算机进行任何更改, 任何帮助都可以接受

mysql database docker navicat
1个回答
0
投票

您的错误应该与

Socket Timeout
时间有关,该时间对于您的查询来说太短,您可以增加它。

请查看[Navicat 官方文档][1]中的错误。

要修改套接字超时,请尝试:

  • 按住 Control 键单击您的连接并选择
    Connection Properties/Edit Connection
  • Advanced
    选项卡下,将
    Socket Timeout
    (秒)设置为更大的值。

[1]:https://help.navicat.com/hc/en-us/articles/217790688-2013-Lost-Connection-to-MySQL-server-during-query#:~:text=If%20you %20接收%20%22丢失%20连接,秒)%20到%20a%20更大%20值。

© www.soinside.com 2019 - 2024. All rights reserved.