SQLSTATE[HY000] [2002] 连接被拒绝且 SQLSTATE[HY000] [2002] 主机无法访问

时间:2021-04-16 07:34:34

标签: mysql docker go docker-compose elasticsearch-5

我为 elasticsearch 和 mysql 制作了 docker-compose。所有容器都“安全地”安装,但是当我尝试使用管理员登录我的数据库并尝试多次时,我不能,并且出现了一些错误:SQLSTATE[HY000] [2002] Connection refused。我不知道为什么,我试图重新启动我的 docker,但我的 db_container 一直在重新启动 SQLSTATE[HY000] [2002] Host is unreachable。在我的 db_container 不断重新启动之前,我已经尝试使用 docker exec -it db_container_name bash 手动创建数据库,但仍然出现相同的错误,我的意思是无法连接。

问题:

  • MySQL 容器不断重启,我无法通过管理员连接到它

我的 .env:

DB_MASTER_HOST= $DB_MASTER_HOST
DB_CONNECTION=mysql
DB_MASTER_USERNAME= mysql
DB_MASTER_PASSWORD= mysql
DB_MASTER_NAME= horde
DB_MASTER_PORT= 3306

我的 docker-composer.yml:

version: "3.7"
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0
    environment:
      - node.name=elastic
      - cluster.name=es-docker-cluster
      - cluster.initial_master_nodes=elasticsearch
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    cap_add:
      - IPC_LOCK
    volumes:
      - /mnt/y/new/app/docker/elasticsearch/data
    ports:
      - 9200:9200
    
  adminer:
    image: adminer
    restart: always
    ports:
      - 9000:8080
    environment:
      - ADMINER_DESIGN='nette'

  mysql_db:
    image: mysql:latest
    command: --default-authentication-plugin=mysql_native_password
    restart: "on-failure"
    environment:
      MYSQL_DATABASE: "horde"
      MYSQL_USER: "mysql"
      MYSQL_PASSWORD: "mysql"
      MYSQL_ROOT_PASSWORD: "mysql"
    volumes:
      - /mnt/y/new/app/docker/database/data:/var/lib/mysql
      - /mnt/y/new/app/docker/database/conf.d:/etc/mysql/conf.d
    ports:
      - 3306:3306
    
  mysql_slave:
    image: mysql:latest
    command: --default-authentication-plugin=mysql_native_password
    restart: "on-failure"
    environment:
      MYSQL_DATABASE: "horde"
      MYSQL_USER: "mysql"
      MYSQL_PASSWORD: "mysql"
      MYSQL_ROOT_PASSWORD: "mysql"
    ports:
      - 3307:3306

日志:

2021-04-16 06:53:04+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.23-1debian10 started.
2021-04-16 06:53:07+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2021-04-16 06:53:07+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.23-1debian10 started.
2021-04-16 06:53:08+00:00 [Note] [Entrypoint]: Initializing database files
2021-04-16T06:53:08.860057Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.23) initializing of server in progress as process 42
2021-04-16T06:53:08.954226Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2021-04-16T06:53:08.954244Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
2021-04-16T06:53:08.955403Z 0 [ERROR] [MY-010119] [Server] Aborting
2021-04-16T06:53:08.962536Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.23)  MySQL Community Server - GPL.

0 个答案:

没有答案