Mysql
 sql >> Base de données >  >> RDS >> Mysql

Exécutez MySQL sur le port 3307 à l'aide de Docker Compose

Variable SQL_INTERNAL_PORT a probablement 3307 évaluer. Vous devez le changer en 3306 .

Vous pouvez également supprimer

    expose:
    - "${SQL_INTERNAL_PORT}"

lignes. Mysql expose déjà le port 3306.

Toutes les applications du cluster utilisent des ports internes (3306 dans le cas de mysql). Les ports externes (dans la section ports) dont vous avez besoin uniquement pour la communication de mots externes.

Si vous voulez avoir plusieurs bases de données, vous devez changer docker-compose comme ceci :

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