【发布时间】:2016-05-13 07:44:57
【问题描述】:
出乎意料的是,当我为给定用户使用密码时,我无法再登录本地 (Windows 7 64) 数据库 (MariaDB 10.1.12)。我还有另一个 MySQL 在 Vagrant (Ubuntu32 14.04) 中运行,因此其中的 Windows 是 --port 3305。
$ mysql --version
C:\Program Files\MariaDB 10.1\bin\mysql.exe Ver 15.1 Distrib 10.1.12-MariaDB, for Win64 (AMD64)
Windows / Git Bash 中给出的所有命令:
$ mysql --port 3305
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
错误消息几乎立即出现,并且是预期的。
然后使用存在的用户名(不是下面的用户名):$ mysql --port 3305 -u my_username
ERROR 1045 (28000): Access denied for user 'my_username'@'localhost' (using password: NO)
同样,错误消息会按预期立即出现。
问题:
在同一个控制台中,这个命令永远不会得到任何响应。这就像 MariaDB 挂起/冻结(直到 Ctrl + C),即使在后台等待了一个小时。似乎只有在设置了-p 参数时才会发生:
$ mysql --port 3305 -u my_username -pcorrect_password
$ mysql --port 3305 -u my_username -p
对于后者,应该有密码提示,但它也永远不会出现。这个配置以前工作过,而且(我所知道的)没有任何改变? MariaDB 本身正在工作,因为它确实响应了其他命令。为什么密码提示会挂掉?
【问题讨论】:
-
请尝试添加另一个参数,例如--host localhost 或 --host 127.0.0.1
-
@mootmoot:我现在试了一下,结果在 127.0.0.1 和 localhost 上都是一样的。没有回应或消息。如果我只做
mysql --port 3305 --host localhost,它会立即回复预期的Access denied for user 'ODBC'@'localhost' (using password: NO) -
所以这证实了我的怀疑,这是数据库客户端连接器的行为。我只是按答案发帖。
-
如果输入密码回车,是否有效?如果是这样,那么我建议壳牌正在做一些有趣的事情。