MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决

2016-02-19 09:40 7 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - 编程语言 】

第一种方法: 推荐
错误描述: 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目录,最后覆盖下空间数据库就可以了。

来源:http://www.tulaoshi.com/n/20160219/1591662.html

延伸阅读
标签: PHP
 从MySQL 4.1开始引入的多语言支持确实很棒,而且一些特性已经超过了其他的数据库系统。不过在测试过程中发现使用适用于MySQL 4.1之前的PHP语句操作MySQL数据库会造成乱码,即使是设置过了表字符集也是如此。 MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字...
*MySQL(和PHP搭配之最佳组合)中文乱码的原因 MySQL(和PHP搭配之最佳组合)会出现中文乱码的原因不外乎下列几点: -MySQL(和PHP搭配之最佳组合) server本身设定问题,例如还停留在latin1 -MySQL(和PHP搭配之最佳组合) table的语系设定问题(包含character与collation) -客户端程式(例如php)的连线语系设定问题 ...
无法通过mysql proxy连接mysql 在host,password正确的情况下,也会遇到无法连接mysql的情况,可以查查mysql server是不是使用了old_password,检查my.cnf里面是不是有 PLAIN TEXT CODE: 代码如下: old_password = 1 有的数据库是从老版本升级上来的,所以会开启这个选项,mysql proxy不支持old_password。另外也可以通过查看密码长...
    问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接校对 gbk_chinese_ci 2.创建数据库时 整理设置成 gbk_chinese_ci 3.用S...
标签: 电脑
清空浏览器缓存 尝试清空浏览器缓存,在IE选项中,清空IE临时文件。或使用清理专家百宝箱,清除系统垃圾文件,实现这个功能。 禁用任何下载加速器 尝试禁用任何下载加速器或下载工具,尝试使用IE另存为进行重新下载。 更新杀毒软件 更新杀毒软件,并进行杀毒。出现NSIS错误,被感染型病毒破坏的可能性较大。推荐重启到带命令行的安...

经验教程

513

收藏

71
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部