用户 'user=bn_moodle'@'localhost' 的访问被拒绝(使用密码:NO)

Access denied for user 'user=bn_moodle'@'localhost' (using password: NO)

我在 docker 图像中的 MariaDB 数据库中收到此错误,我正在使用 this Moodle image 的 docker 图像并使用 [=35= 启动实例]-整理.

我只想恢复 docker 数据库中的转储,我正在跟踪 t 并且正在测试此命令:

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文件中没有看到任何用户密码,所以我没有传递它,假设我可以不用密码登录数据库。

但我收到此错误:

Access denied for user 'user=bn_moodle'@'localhost' (using password: NO)

如有任何建议,我们将不胜感激! 谢谢

您的 exec 命令有错别字。它应该是 --user=bn_moodle-u bn_moodle 而不是 --uuser

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