提问者:小点点

无法由其他用户访问docker中的mariadb,然后是root


我在synology NAS上有一个带有mariadb的docker容器。
mariadb版本是10.4.12.
通过尝试使用最新的dBeaver从linux客户端访问mariadb,我得到以下行为。

  • 使用root用户从客户端访问成功。
  • 在docker内部使用root用户访问成功。
    到目前为止还很好!
    然后我通过以下命令创建了以下用户:
CREATE USER 'myUser'@'%' IDENTIFIED BY 'secretPassword';
GRANT select, update, insert, delete ON mydb.* TO 'myUser'@'%';

在此之后,我刷新了该用户的权限

我无法从docker容器内部登录,也无法从客户端登录。
依赖于我尝试的位置,我获得了“拒绝对用户‘我的用户'@'172.17.0.1'的访问”。

mariadb字符集是UTF8.
mysql.user中的插件设置为:mysql_native_password
在/etc/mysql/my.cnf中启用绑定并设置为0.0.0.0

  • 我试图使用上面的listet命令,使用localhost和clientIP创建同一个用户,但也没有成功。
  • 重新启动docker容器未成功。
  • 我将所有权限授予此用户并再次刷新权限,但未成功。
  • 我删除了所有MyUser并创建了具有其他使用权限的MyUser@%new,但也没有成功。

共1个答案

匿名用户

我找到了解决方案!!
我为用户使用了自动生成的密码:

G(m&>JBR,9ä

这没有奏效。
在我将密码更改为新密码之后。 一切正常!

密码中的字符是否有限制?