MYSQL教程MYSQL ERROR 1045 (28000): Access denied for user (u
发布时间:2020-12-12 01:21:20 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL教程MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决》要点: 本文介绍了MYSQL教程MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决,希望对您有用。如果有疑问,可以联系我们
《MYSQL教程MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决》要点: 错误描述: 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'); Query OK,1 row affected,3 warnings (0.00 sec) 返回成功,没问题.嘿嘿~~~就这么简单. 第五步,测试,再重启下mysql服务,正常登录,成功!!! 提示:mysql系统中的mysql数据库,存储的是系统数据,像这里的user表存储的是用户信息及其访问权限,还有其他,例如你要新建一个数据库mydb,这数据库有用户me管理的话,mysql数据库里面的db表就会存储相关信息.废话步多说了. 下面是windows 的解决方法: 但如果我们用虚拟主机管理系统开启的用户,而且用户数比较多的时候,好像也不是好办法. 我使用重新安装了mysql,然后进入虚拟主机,逐个删除,重新开数据库,操作之前一定要备份好原来的data目录,最后覆盖下空间数据库就可以了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |