Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Execute o MySQL na porta 3307 usando o Docker Compose


Variável SQL_INTERNAL_PORT provavelmente tem 3307 valor. Você precisa alterá-lo para 3306 .

Além disso, você pode remover
    expose:
    - "${SQL_INTERNAL_PORT}"

linhas. O MySQL já expõe a porta 3306.

Todos os aplicativos no cluster usam portas internas (3306 no caso do mysql). Portas externas (em portas de seção) você precisa apenas para comunicação externa de palavras.

Se você deseja ter vários bancos de dados, precisa alterar o docker-compose algo assim:
version: '3'
services:
hackernews:
    image: prismagraphql/prisma:1.8
    restart: always
    ports:
    - "${CLIENT_PORT}:${INTERNAL_PORT}"
    environment:
    PRISMA_CONFIG: |
        port: $INTERNAL_PORT
        managementApiSecret: $PRISMA_MANAGEMENT_API_SECRET
        databases:
        default:
            connector: mysql
            host: mysql_first
            port: 3306
            user: root
            password: $SQL_PASSWORD
            migrations: true
        second:
            connector: mysql
            host: mysql_second
            port: 3306
            user: root
            password: $SQL_PASSWORD
            migrations: true
mysql_first:
    image: mysql:5.7
    restart: always
    environment:
    MYSQL_ROOT_PASSWORD: $SQL_PASSWORD
    ports:
     - 3307:3306
    volumes:
    - ./custom/:/etc/mysql/conf.d/my.cnf
    - mysql:/var/lib/mysql

 mysql_second:
    image: mysql:5.7
    restart: always
    environment:
    ports:
     - 3308:3306
    MYSQL_ROOT_PASSWORD: $SQL_PASSWORD