首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MariaDB 10.1.12,使用-p时控制台没有响应

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

Stack Overflow用户
提问于 2016-05-13 07:44:57
回答 1查看 532关注 0票数 0

突然之间,当我为给定的用户使用密码时,我就不能再登录本地(Windows7.64) DB (MariaDB 10.1.12)了。我还有另一个MySQL运行在Vagrant中(Ubuntu32 14.04),因此在其中运行了--port 3305 for Windows。

$ 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本身也能工作,因为它确实响应了其他命令。为什么密码提示会挂起来?

EN

回答 1

Stack Overflow用户

发布于 2016-05-17 08:06:40

因为Mariadb还继承了许多MySQL代码和行为,所以在Mysql文档中编写的内容:连接到MySQL服务器也可能发生在mariadb客户机上。

在Unix上,MySQL程序特别对待主机名localhost,这种方式可能与其他基于网络的程序不同。对于到本地主机的连接,MySQL程序试图使用Unix文件连接到本地服务器。即使给出一个-端口或-P选项来指定端口号,也会发生。要确保客户端与本地服务器建立TCP/IP连接,请使用--host或-h指定主机名值为127.0.0.1,或指定本地服务器的IP地址或名称。您还可以显式地指定连接协议,甚至对于localhost也是如此。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37204161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档