Ошибка при подключении к MySQL в локальном docker контейнере: ОШИБКА 2002 (HY000): Не удается подключиться к MySQL серверу на 127.0.0.1 (115) - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь подключиться к базе данных MySQL, которая запускается как служба docker (созданная из образа mysql: 5.7) на моем локальном docker. Когда я пытаюсь:

mysql -u myuser -p mydb -h 127.0.0.1

я получаю следующую ошибку: ERROR 2002 (HY000): Can't connect to MySQL server on '127.0.0.1' (115) Мои docker настройки для услуги MySQL следующие:

networks:
  front-tier:
    name: front-tier
    attachable: true
    ipam:
      config:
      - subnet: 70.28.0.0/16
  back-tier:
    name: back-tier
    attachable: true

services:
  mysql:
    image: mysql
    hostname: mysql
    deploy:
      restart_policy:
        condition: on-failure
    placement:
    replicas: 1
  labels:
    com.dgyar.description: "Data node"
    com.dgyar.department: "IT"
  command: --sql_mode=""
  environment:
    MYSQL_ROOT_PASSWORD: ******
    MYSQL_DATABASE: mydb
    MYSQL_USER: myuser
    MYSQL_PASSWORD: ******
    MYSQL_ROOT_HOST: '%'
  networks:
    - back-tier
  volumes:
    - "/mnt/mysql:/var/lib/mysql"

1 Ответ

1 голос
/ 11 апреля 2020

Вам необходимо отобразить порт из вашего контейнера MySQL на ваш хост, чтобы получить к нему доступ из вашей команды.

Например

networks:
  front-tier:
    name: front-tier
    attachable: true
    ipam:
      config:
      - subnet: 70.28.0.0/16
  back-tier:
    name: back-tier
    attachable: true

services:
  mysql:
    image: mysql
    hostname: mysql
    deploy:
      restart_policy:
        condition: on-failure
    placement:
    replicas: 1
  labels:
    com.dgyar.description: "Data node"
    com.dgyar.department: "IT"
  command: --sql_mode=""
  environment:
    MYSQL_ROOT_PASSWORD: ******
    MYSQL_DATABASE: mydb
    MYSQL_USER: myuser
    MYSQL_PASSWORD: ******
    MYSQL_ROOT_HOST: '%'
  networks:
    - back-tier
  volumes:
    - "/mnt/mysql:/var/lib/mysql"
  ports:
    - "5000:3306"
mysql -u myuser -p mydb -h 127.0.0.1 -P 5000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...