Docker
通過本地 mysql 客戶端(即工作台)連接到在 docker 容器中執行的數據庫
我有一個在 docker 容器中執行的 mysql 數據庫
docker ps 6496a209cb30 mysql:5.7.22 "docker-entrypoint.s…" 34 minutes ago Up 34 minutes 0.0.0.0:3317->3306/tcp, :::3317->3306/tcp db
我可以通過 shell 登錄到這個容器並正常執行查詢
docker exec -it db bash
為什麼我無法通過本地機器上的 mysql 客戶端(使用 mysql 工作台)連接到同一個容器?
這是我的
docker-compose.yml
配置;#MySQL Service db: image: mysql:5.7.22 container_name: db restart: unless-stopped tty: true ports: - "3317:3306" environment: MYSQL_DATABASE: laravel MYSQL_ROOT_PASSWORD: password SERVICE_TAGS: dev SERVICE_NAME: mysql volumes: - dbdata:/var/lib/mysql/ - ./mysql/my.cnf:/etc/mysql/my.cnf networks: - app-network
對於該
Hostname
領域 - 我已經嘗試過127.0.0.1
&db
; - 正在執行的容器的名稱沒有成功?
這是因為您的 MySQL 客戶端正在強制 SSL 連接,更具體地說是 TLS 1.2 或更高版本。
一個快速的解決方案是從你的 mysql 工作台關閉 SSL。
這不會強制使用 SSL/TLS,您將能夠連接到數據庫