MySQL соединение на locahost с контейнером mariadb не удается - PullRequest
0 голосов
/ 17 мая 2018

Выпуск

Я не могу подключиться к MySQL с хоста, с которого запущен контейнер MariaDB. Вот некоторые сведения об окружающей среде:

docker compose -file

version: '3.1'

services:

  db:
    image: mariadb
    restart: always
    environment:
      BIND-ADDRESS: 0.0.0.0
      MYSQL_ROOT_PASSWORD: example
    ports:
      - 3306:3006
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

Соединение с контейнером через docker exec -it rancherclientplatform_db_1 /bin/bash и соединение с mysql -uroot -p неудивительно, что работает.

ГРАНТЫ

Гранты следующие:

MariaDB [(none)]> SHOW GRANTS;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              
|
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*57237BB49761F29AB9724BA084E811D70C12393D' WITH GRANT OPTION |
| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION                                                                          
|
+----------------------------------------------------------------------------------------------------------------------------------------+

На хосте

Нет, когда я пытаюсь подключиться на хосте , ни

  • mysql -uroot -p или
  • mysql -hlocalhost -uroot -p или
  • mysql -h127.0.0.1 -uroot -p

работа. Первые 2 завершаются с ошибкой сокета, -h127.0.0.1 завершается с ошибкой ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not system error)"

Сам порт 3306, похоже, правильно опубликован на хосте, так как nmap -p3306 localhost доставляет

PORT     STATE SERVICE
3306/tcp open  mysql

Есть идеи, что делать здесь?

1 Ответ

0 голосов
/ 17 мая 2018

Порт MariaDB по умолчанию - 3306.

так:

Порты: - 3306: 3006

вы, вероятно, хотите отобразить порт, используя 3306: 3306, если вы хотите получить доступ к mariadb на локальном хосте, используя порт 3306

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...