Доступ запрещен для пользователя 'user = bn_moodle' @ 'localhost' (используя пароль: НЕТ) - PullRequest
0 голосов
/ 16 апреля 2019

Я получаю эту ошибку из базы данных MariaDB в образе докера, используемом образе докера это изображение Moodle и запускаю экземпляры с помощью docker-compose up.

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

docker exec -i mysql-container mysql -uuser -ppassword name_db < data.sql

docker-compose.yml выглядит следующим образом:

version: '2'
services:
  mariadb:
    image: 'bitnami/mariadb:latest'
    environment:
      - MARIADB_USER=bn_moodle
      - MARIADB_DATABASE=bitnami_moodle
      - ALLOW_EMPTY_PASSWORD=yes
    volumes:
      - 'mariadb_data:/bitnami'
  moodle:
    image: 'bitnami/moodle:3'
    environment:
      - MARIADB_HOST=mariadb
      - MARIADB_PORT_NUMBER=3306
      - MOODLE_DATABASE_USER=bn_moodle
      - MOODLE_DATABASE_NAME=bitnami_moodle
      - ALLOW_EMPTY_PASSWORD=yes
    ports:
      - '80:80'
      - '443:443'
    volumes:
      - 'moodle_data:/bitnami'
    depends_on:
      - mariadb
volumes:
  mariadb_data:
    driver: local
  moodle_data:
    driver: local

Итак, я делаю это:

docker exec -i docker-instance-id mysql -uuser=bn_moodle bitnami_moodle < Dump20190402.sql 

, так как я не вижу пароля пользователя в файле yaml, я 'я не передаю его, предполагая, что я могу войти в базу данных без пароля.

но я получаю эту ошибку:

Доступ запрещен для пользователя 'user = bn_moodle' @'localhost' (используя пароль: НЕТ)

Любой совет будет оценен по достоинству!спасибо

1 Ответ

1 голос
/ 16 апреля 2019

У вас есть опечатка в вашей команде exec.Это должно быть --user=bn_moodle или -u bn_moodle, а не --uuser

docker exec -i docker-instance-id mysql --user=bn_moodle bitnami_moodle < Dump20190402.sql 
...