为什么这个mysql用户不能使用密码登录?


8

在phpmyadmin中,我使用密码和所有特权创建了一个名为“爱德华”的用户:

在此处输入图片说明

但是,当我尝试通过phpmyadmin登录时,提示“无法登录MySQL服务器”。

当我尝试在命令行(Windows 7)上登录时,它也不允许我: 在此处输入图片说明

但是,如果我没有密码登录,我会进入:

在此处输入图片说明

只给我看两张桌子

我确定密码是正确的,并且我创建了多个用户,无论我赋予他们多少权限,这些用户都无法使用他们的密码登录。

我如何才能使该用户只能使用密码登录并查看所有数据库?


附录:

这是phpmyadmin的屏幕截图,显示“爱德华”拥有与“根”一样多的权限:

在此处输入图片说明


您确定设置密码吗?尝试SET PASSWORD FOR 'edward'@'%' = PASSWORD( 'YOU PASSWORD HERE' )
hellodanylo 2012年

是的,我以root用户身份登录并使用该命令再次设置密码,但是我仍然无法以爱德华身份登录,就好像有某种全局设置可以禁止除root用户之外的任何人登录,我使用xampp进行了安装

我发生了同样的事情,并且在create user命令上正确设置了密码
santiago arizti 2016年

Answers:


6

因为您授予它无密码访问权限...如果用户没有密码,则使用一个用户登录将始终失败。

设置用户密码,只有这样您才能使用-p

另外,您可能要删除该Any用户。


我在phpmyadmin中为其授予了密码(如上面的屏幕截图所示),在命令提示符下我再次登录并授予了密码,set password for 'edward'@'%' = password('test');但仍然无法使用密码登录,就好像密码不是被设置,但正在显示设置

4
屏幕截图显示了%主机,但是您正在从中访问主机localhost,这有所不同。您可能在那里还有其他授权,它可以匹配本地主机上的任何人,而无需输入密码。与指定的主机用户更强定义
poncha

2
好的,我将其从更改%localhost现在可以登录,并且,正如您所说,如果删除“任何用户”条目,也可以%在爱德华使用。谢谢。
Edward Tanguay 2012年

0

您最有可能在服务器上授予了特权,但没有授予数据库特权。尝试GRANT ALL ON *.* TO 'edward' IDENTIFIED BY 'password'


我以root用户身份登录,并使用该命令为数据库“ test”和“ edward”设置了密码,但是我仍然无法使用其密码作为爱德华兹登录

很抱歉:我应该弄错了*.*,不是*-我编辑了答案。

如上面的屏幕所示,该操作仍然无效,用户爱德华拥有所有权利,实际上具有root权限
Edward Tanguay 2012年

0

同样的问题也无法解决。删除数据库,删除目录,然后在Centos 6.3上重新安装。命令行显示一些数据,然后快速滚动即可为我解决问题。粘贴在下面。

请记住为MySQL root用户设置密码!

为此,请启动服务器,然后发出以下命令:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h cch-web-centos password 'new-password'

或者,您可以运行:

/usr/bin/mysql_secure_installation

最后一个是对我有用的。我输入了root密码,它实际上可以正常工作。使用mysqladmin输入root密码而不运行该脚本,这给了我Edward报告的相同错误。运行脚本,回答问题,现在可以使用root密码,并且拒绝不使用密码的登录。这也使我发疯。我已经安装了很多次mysql,这是我第一次遇到这个问题。不知道这是否是yum / centos,就像在Ubuntu和Fedora上一样,我没有这个问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.