我从docker映像中的MariaDB数据库中获取了此错误,我正在使用this Moodle image的docker映像,并使用docker-compose up来启动实例。
我只想在Docker数据库中还原转储,我正在关注t his thread,并且正在测试此命令:
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'的访问(使用密码: 否)
任何建议将不胜感激! 谢谢
答案 0 :(得分:1)
您的exec命令中有错字。应该是--user=bn_moodle
或-u bn_moodle
而不是--uuser
docker exec -i docker-instance-id mysql --user=bn_moodle bitnami_moodle < Dump20190402.sql