programing

phpmyadmin은 docker-param을 사용하여 mariadb에 접속할 수 없습니다.패킷의 순서가 잘못되어 있다

yoursource 2022. 9. 4. 23:11
반응형

phpmyadmin은 docker-param을 사용하여 mariadb에 접속할 수 없습니다.패킷의 순서가 잘못되어 있다

이 docker-compose.yml은 뭐가 문제죠?사실 괜찮아 보이는데요.

그러나 http://localhost:8080/index.php에서 phpmyadmin에 로그인하려고 하면 다음 오류가 나타납니다.

패킷이 고장났습니다.0이 1을 수신해야 합니다.패킷 크기=71
mysqli_real_connect(): MySQL 서버가 사라졌습니다.
mysqli_real_connect(): 그리팅 패킷을 읽는 중 오류가 발생했습니다.PID=33
mysqli_real_connect() : (HY000/2006) :MySQL 서버가 사라졌습니다.

version: "3"
services:
  db:
    image: mariadb:10.4
    volumes:
      - test_db_data:/var/lib/mysql
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: test
      MYSQL_USER: test
      MYSQL_PASSWORD: test
      MYSQL_ROOT_PASSWORD: root
    networks:
        - dbtest

  pma:
    image: phpmyadmin/phpmyadmin
    depends_on:
      - db
    ports:
      - 8080:80
    environment:
      - PMA_HOST=db
    networks:
        - dbtest

  adminer:
    image: adminer
    restart: unless-stopped
    ports:
      - 8081:8080
    networks:
      - dbtest

volumes:
  test_db_data:
networks:
  dbtest:

콘텍스트:

  • 도커 버전 19.03.3
  • 도커버전 1.23.2

업데이트:
관리자도 추가했는데 로그인도 실패합니다.Mysql stderr에는 다음이 표시됩니다.

[경고] db에 대한 연결 9를 중단했습니다: '연결되지 않음' 사용자: '인증되지 않음' 호스트: '192.168.32.3' (이 연결은 인증 없이 정상적으로 종료되었습니다)

동일한 오류가 발생하여 데이터베이스 볼륨을 삭제하고 데이터베이스를 다시 생성하여 수정했습니다.가장 좋은 솔루션은 아닙니다.MySQL 서버가 시작 시 정지되었습니다.

개발 박스상의 데이터베이스이기 때문에 이행과 테스트 데이터 재시딩만 하면 되었습니다.

언급URL : https://stackoverflow.com/questions/58745198/phpmyadmin-cant-connect-to-mariadb-with-docker-compose-packets-out-of-order

반응형