我无法从本地计算机进行远程连接,一切正常,但突然它不再让我访问 mysql 数据库。我尝试了所有可能的组合,但都不起作用。
我有我的个人电脑和笔记本电脑运行 Windows 10/11 和 WSL2(Ubuntu 22.04)。我在 Digitalocean 有一个 droplet(VPS),运行 Ubuntu 和 Docker。有 3 个不同的 docker 容器正在启动(服务器、数据库和客户端)。它们可以毫无问题地相互通信。
当我想从我的笔记本电脑(Win 11 WSL2)连接到运行 mysql 的 docker“数据库”容器时,它不起作用。端口已打开并暴露给主机。
它只在我使用 Datagrip 软件从我的电脑连接时才有效,该软件在出现问题之前已配置好,但不知何故它仍然有效并允许我连接到数据库。这意味着它配置正确,但我无法从其他机器连接。
我是否遗漏了什么?
这是我的docker-compose.yml
:
version: '3.9'
services:
api:
build:
context: .
dockerfile: Dockerfile
container_name: api
restart: on-failure
env_file: .env
environment:
- DB_HOST=mysql
volumes:
- .:/app
ports:
- ${APP_PORT}:${APP_PORT}
- ${WSS_PORT}:${WSS_PORT}
depends_on:
- mysql
networks:
- appnet
cpus: 0.4
mem_reservation: '512M'
mem_limit: '1152M'
mysql:
image: mysql:8.0
container_name: mysql
command: mysqld --default-authentication-plugin=caching_sha2_password
restart: always
env_file: .env
environment:
- MYSQL_ROOT_HOST=%
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USERNAME}
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- mysql-data:/var/lib/mysql
ports:
- ${DB_PORT}:${DB_PORT}
networks:
- appnet
cpus: 0.4
mem_reservation: '256M'
mem_limit: '512M'
networks:
appnet:
volumes:
mysql-data: