sql >> Database >  >> RDS >> Mysql

Voer MySQL uit op poort 3307 met Docker Compose

Variabele SQL_INTERNAL_PORT heeft waarschijnlijk 3307 waarde. Je moet het veranderen in 3306 .

U kunt ook

. verwijderen
    expose:
    - "${SQL_INTERNAL_PORT}"

lijnen. Mysql stelt 3306-poort al bloot.

Alle toepassingen in het cluster gebruiken interne poorten (3306 in mysql-geval). Externe poorten (in sectiepoorten) die u alleen nodig hebt voor externe woordcommunicatie.

Als u meerdere databases wilt hebben, moet u docker-compose als volgt wijzigen:

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


  1. Is een enkele SQL Server-instructie atomair en consistent?

  2. Optioneel argument in PL/pgSQL-functie

  3. Hoe kan ik opmerkingen toevoegen in MySQL?

  4. Wat is het PDO-equivalent van de functie mysql_real_escape_string?