手机
当前位置:查字典教程网 >编程开发 >mysql数据库 >MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
摘要:第一种方法:推荐错误描述:Mysql中添加用户之后可能出现登录时提示ERROR1045(28000):Accessdeniedforuser...

第一种方法: 推荐

错误描述: Mysql中添加用户之后可能出现登录时提示ERROR 1045 (28000): Access denied for user的错误.

原因分析: 在mysql.user表中可能出现user为空的记录,如:

mysql> select host,user from user;

+------------------+------+

| host | user |

+------------------+------+

| % | test |

| localhost | |

| localhost | root |

+------------------+------+

3 rows in set (0.00 sec)

解决 办法: 删除这些为空的用户或者更新为其他用户名

删除user.user中值为NULL的,或更新NULL为test

1)delete from user where user is NULL

2)update user set user='test' where user is NULL

意外的情况: 如果上述方法没有效果,依然出现空用户,则可以利用图形化用户client删除.

第二种方法:linux下

开场白:解决LINUX问题是一种乐趣,当然,能遇到问题就是上天赐的享受幸福的机会。

这次使用的是Mandriva2008spring。

因为要搞一个项目,所以需要安装MySql,以往安装MySql都是非常顺利的,尤其MySql提供的rmp包,只需双击下就可以搞定~但不知道什么时候,MYSQL ERROR 1045 (28000): Access denied for user (using password: YES),这个拒绝访问问题变得非常广泛。

百度了一下,没有现成的解决方法,唯有找出其问题所在了。

解决问题思路:

第一步,先使用跳过受权表访问,命令如下:mysqld_safe --user=mysql --skip-grant-tables --skip-networking & (当然,在这之前,先停止mysql服务的运行)。

第二步,mysql -uroot mysql 登录mysql。

第三步,访问mysql数据库下的user表。在我的机器上,mysql> select * from user; 得到的,竟然是

Empty set (0.00 sec)。这说明了,我的mysql没有任何可以访问的用户。知道了这问题所在,解决起来就简单了。

第四步,mysql> INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'username', PASSWORD(‘yourpassword'), 'Y', 'Y','Y');

Query OK, 1 row affected, 3 warnings (0.00 sec)

返回成功,没问题。嘿嘿~~~就这么简单。

第五步,测试,再重启下mysql服务,正常登录,成功!!!

提示:mysql系统中的mysql数据库,存储的是系统数据,像这里的user表存储的是用户信息及其访问权限,还有其他,例如你要新建一个数据库mydb,这数据库有用户me管理的话,mysql数据库里面的db表就会存储相关信息。废话步多说了。

下面是windows 的解决方法:

但如果我们用虚拟主机管理系统开启的用户,而且用户数比较多的时候,好像也不是好办法。

我使用重新安装了mysql,然后进入虚拟主机,逐个删除,重新开数据库,操作之前一定要备份好原来的data目录,最后覆盖下空间数据库就可以了。

【MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决】相关文章:

MySQL:reading initial communication packet问题解决方法

winxp 安装MYSQL 出现Error 1045 access denied 的解决方法

MYSQL安装时解决要输入current root password的解决方法

命令行模式下备份、还原 MySQL 数据库的语句小结

mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录

mysql sql语句总结

MySQL错误Forcing close of thread的两种解决方法

mysql Out of memory (Needed 16777224 bytes)的错误解决

MSSQL 18052错误: 9003,严重度: 20,状态: 1

MySQL中文乱码问题的解决方案

精品推荐
分类导航