【发布时间】:2019-10-12 00:55:46
【问题描述】:
嗨,我关注了这个docker tutorial for mariabdb,也检查了这个stackoverflow question。我可以毫无问题地开始使用 mariadb 容器,并且可以使用命令mysql -h0.0.0.0 -uroot -pmypass 连接root 和mypass 密码。但是,在我创建一个新用户并授予所有权限后,我无法使用该特定用户名和密码进行连接。我收到拒绝访问错误。
这是docker ps command 的输出;
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
268c36eac13a mariadb/server:10.3 "docker-entrypoint.s…" 31 minutes ago Up 31 minutes 0.0.0.0:3306->3306/tcp mariadbtest
我使用 docker exec -it 268c36eac13a /bin/sh 连接到 mariadb 容器并运行这些命令;
mysql -uroot -pmypass
create database emails;
grant all on emails.* to 'testUser'@'localhost' identified by '123456';
然后,当我从本地主机运行mysql -h0.0.0.0 -utestUser -123456 时,我收到Access denied for user 'testUser'@'172.17.0.1' (using password: YES) 错误。
感谢您的帮助!
【问题讨论】:
-
您在
localhost授予testUser并且172.17.0.1不是localhost。-h0.0.0.0- 这就是原因。试试-h localhost。 -
@AndreyVolk 不走运。我收到
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)