ローカルのmysqlクライアントであるワークベンチを介して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

シェルを介してこのコンテナにログインし、クエリを正しく実行できます。

docker exec -it db bash

私のローカルマシン(mysql Workbenchを使用)が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.1db

ベストアンサー1

これは、MySQL クライアントが SSL 接続、特に TLS 1.2 以降を強制するためです。

これに対する迅速な解決策は、mysqlワークベンチでSSLをオフにすることです。

mysql WorkbenchはSSLをオフにします。

SSL/TLS を強制的に使用せず、データベースに接続できます。

おすすめ記事