подключиться к Dockerized sql с хоста: доступ запрещен - PullRequest
0 голосов
/ 31 марта 2020

Извините, что открываю еще один из тех вопросов, которые "не могут подключиться к моей базе данных", но после поисков в течение нескольких часов я просто не получаю его.

Я хочу, чтобы база данных в доке используется приложением invoicePlane (не докеризованным) * Внутри контейнера все работает нормально. Я могу подключиться, например, через mysql -uroot -ppass0 и посмотреть

+--------------+-----------+
| User         | Host      |
+--------------+-----------+
| invoiceplane | %         |
| root         | %         |
| root         | localhost |
+--------------+-----------+
3 rows in set (0.004 sec)

Теперь я хочу получить доступ к БД с хоста, пытаясь

mysql invoiceplane_db_1:3306 -uroot -ppass0

, где invoiceplane_db_1 - это имя контейнера.

но я всегда получаю:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Через мой веб-поиск у меня сложилось впечатление, что это может иметь отношение к bind-address в /etc/mysql/my.cnf контейнера, который был указано здесь , например. Но я не смог сделать это правильно. Первоначально параметр был закомментирован. Я установил его на bind-address = 127.0.0.1 и перезапустил контейнер. Это не помогло.

Я что-то здесь упускаю?

1 Ответ

0 голосов
/ 31 марта 2020

Это мой рабочий docker - composer для mariadb:

db:
  image: mariadb:10.4
  ports:
    - "3306:3306"
  volumes:
    - db-storage:/var/lib/mysql
  environment:
    MYSQL_ROOT_PASSWORD: root-pass
    MYSQL_USER: my-user
    MYSQL_PASSWORD: my-user-pass
    MYSQL_DATABASE: my-database

Судя по всему, вам не хватает сопоставления портов: 3306:3306

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