MariaDB 10.1.12,使用-p时控制台没有响应

时间:2016-05-13 07:44:58

标签: mysql mariadb

当我使用给定用户的密码时,我无法再登录到我的本地(Windows 7 64)数据库(MariaDB 10.1.12)。我还有另一个在Vagrant(Ubuntu32 14.04)中运行的MySQL,因此这些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本身也在工作,因为它确实响应了其他命令。为什么密码提示会挂起来?

1 个答案:

答案 0 :(得分:0)

因为Mariadb客户端也继承了很多MySQL代码和行为,所以在Mysql文档中写的是什么:Connecting to the MySQL Server也可能发生在mariadb客户端。

  

在Unix上,MySQL程序专门处理主机名localhost   与其他人相比可能与您的期望不同的方式   基于网络的程序。用于连接到localhost,MySQL程序   尝试使用Unix套接字文件连接到本地服务器。   即使给出了--port或-P选项来指定端口,也会发生   编号即可。确保客户端建立TCP / IP连接   本地服务器,使用--host或-h指定主机名值   127.0.0.1,或本地服务器的IP地址或名称。您还可以显式指定连接协议,即使对于localhost

也是如此

显然,即使使用--port参数,mariadb客户端也会连接到3305。由于端口3305没有运行maraidb代理,但端口是打开的,因此mariadb客户端只是等到超时(典型的TCP / IP客户端工具行为)。如果3305未打开,mariadb客户端将尽快给出连接失败。