为什么我无法从我的 Mac 连接到我的 MariaDB 服务器,但我可以从同一台机器上的 Docker 容器连接?

为什么我无法从我的 Mac 连接到我的 MariaDB 服务器,但我可以从同一台机器上的 Docker 容器连接?

我已经在端口 6612 上设置了一个 MariaDB 服务器。db.bestalbumsintheuniverse.com我在本地笔记本电脑(macOS)上的命令行中遇到以下情况:

$ mysql -h db.bestalbumsintheuniverse.com -P 6612
ERROR 2002 (HY000): Can't connect to server on 'db.bestalbumsintheuniverse.com' (60)

$ docker run -ti maria-client mysql -u [redacted] -p[redacted] -P 6612 -h db.bestalbumsintheuniverse.com -e 'SELECT version()'
+---------------------------+
| version()                 |
+---------------------------+
| 10.6.7-MariaDB-2ubuntu1.1 |
+---------------------------+

maria-client是使用以下Dockerfile构建的docker容器:

FROM ubuntu:22.04
RUN apt update && apt install -y mariadb-client

服务器db.bestalbumsintheuniverse.com在 Digital Ocean 上运行 Ubuntu 22.04,安装并配置了 MariaDB 10.6 以监听所有接口和端口 6612。我还启用了 UFW,并允许从任何地方在端口 6612 上建立 TCP 连接。网络正常运行(Docker 容器的连接正常运行就是明证)。

以下是一些相关的版本字符串:

笔记本电脑上的mysql(MariaDB):

$ mysql --version
mysql  Ver 15.1 Distrib 10.6.10-MariaDB, for osx10.17 (x86_64) using  EditLine wrapper

笔记本电脑上的 docker 容器中的 mysql(MariaDB):

$ docker run -ti maria-client mysql --version
mysql  Ver 15.1 Distrib 10.6.7-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

服务器 MariaDB:

$ mysqld --version
mysqld  Ver 10.6.7-MariaDB-2ubuntu1.1 for debian-linux-gnu on x86_64 (Ubuntu 22.04)

我一直认为这是一个版本不匹配的问题,因为我之前遇到过 MariaDB 的连接问题和版本不匹配的问题。

显然问题不在于网络连接,因为我可以使用 Docker 容器化的 mariadb 进行连接,对吧?那么为什么我可以从 macOS 上的 Docker 容器进行连接,但不能从同一设备上的本机 mysql(MariaDB)客户端进行连接?

答案1

我当时在 AirBnB(不是我的家庭网络),当我回到自己的网络时,这个问题就解决了。一定是某些奇怪的网络配置(尽管我仍然不明白为什么它在同一台机器上的 Docker 容器中工作)。

相关内容