赞
踩
可能原因如下:
Access denied for user 'admin'@'localhost'(using password:YES)
可能的原因除了上面的4点,还有一点,这一点是我亲身遇见的。
解释下就是,创建了本地用户却通过远程来访问,或者创建了远程用户却通过本地用户来访问。例子,
# 创建了'admin'用户,host是'localhost',却通过admin@103.186.147.181来访问
# 创建了'admin'用户,host是'%',却通过admin@localhost来访问。
# 就会报上面的access denied错误
在Mysql的安装文件里面有个mysql的库,这是个系统库,安里面有一个user表,user表里面用username与host做双主键,
如果这张表中没有root,localhost这一行字段,那么你这个用户是无权限登陆进localhost,root也不例外,
但是默认情况下是有这个字段的,所以肯定是你安装失败,或者有人把你这张表里面的相应的这行给删掉了(mysql在你删掉系统表里不会提示,就是你删掉mysql这个系统库也不会提示)
所以最简单的做法就是替换你的mysql库,找到一个可用的mysql库,直接把里面的内容copy过来就OK了
如下图所示。
在MysqlDB中的mysql库中有一个user表,这个表是管理访问mysql的用户的。user字段和host字段对应的就是我们在连接mysql时的用户和主机,所以如果在这个表中没有你连接mysql所使用的用户和主机的行,那就会报上面的错误,这时候就需要创建一个该用户和主机的组合了。若需要创建用户请移步 Mysql系列之创建用户、删除用户、修改密码
[1] Mysql系列之创建用户、删除用户、修改密码
[2] MySQL中用户权限、库权限、表权限的控制
[3] MySQL中USER表详解
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。