我在 Debian Stable 的服务器上设置了一个新的 MariaDB 服务器,并配置了一个新的 SQL 用户,称为“用户”,密码为“123456”(编辑:我使用了一个精确的 80 个字符的生成密码)。我现在可以mysql -uuser -p123456
在机器上使用来登录该用户。使用本地 phpMyAdmin 实例也可以正常工作。
但是我自己编写的节点应用程序无法登录到这台服务器上,在其他具有类似配置的机器上应用程序可以。
经过大量调试后,我发现如果我没有通过参数输入密码,我也无法通过 mysql-cli 登录。例子:
$ mysql -uuser -p
Enter password: [type in 123456]
ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)
我无法想象为什么有些登录方法有效而另一些无效,并且在之前的每台机器上,我都没有体验到mysql [...] -p [ENTER] password
和之间的区别mysql [...] -ppassword
。
MariaDB 服务器的日志文件反映了所有成功和不成功的身份验证。
有人可以解释此服务器上可能配置错误的内容吗?
编辑:
首先,我不小心错误地配置了我的节点应用程序,修复应用程序后现在可以成功登录。
此外,我使用较短的密码重试,然后一切正常。经过多次尝试,我认为 MySQL Cli(至少在 Debian 上)只支持包含少于 80 个字符的密码(79 个字符可以正常工作)。有人知道这是否是预期的吗?