服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Mssql|Oracle|Redis|

服务器之家 - 数据库 - Mysql - MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决

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

2019-10-31 15:03mysql教程网 Mysql

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

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

延伸 · 阅读

精彩推荐
  • Mysqlmysql 8.0.13手动安装教程

    mysql 8.0.13手动安装教程

    这篇文章主要为大家详细介绍了mysql 8.0.13手动安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    石头猿4092019-06-06
  • MysqlMySQL实现类似Oracle序列的方案

    MySQL实现类似Oracle序列的方案

    今天小编就为大家分享一篇关于MySQL实现类似Oracle序列的方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编...

    走过的足迹2382019-06-02
  • MysqlMySQL Community Server 8.0.11安装配置方法图文教程

    MySQL Community Server 8.0.11安装配置方法图文教程

    这篇文章主要为大家详细 介绍了MySQL Community Server 8.0.11安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    丿小可爱3312019-07-15
  • Mysqlmysql存储emoji表情报错的处理方法【更改编码为utf8mb4】

    mysql存储emoji表情报错的处理方法【更改编码为utf8mb4】

    这篇文章主要介绍了mysql存储emoji表情报错的处理方法,较为详细的分析了通过更改mysql编码为utf8mb4解决存储emoji表情报错的相关操作技巧,需要的朋友可以参...

    小酷miki2122019-07-01
  • Mysql如何提高MySQL Limit查询性能的方法详解

    如何提高MySQL Limit查询性能的方法详解

    今天小编就为大家分享一篇关于如何提高MySQL Limit查询性能的方法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起...

    CODETC2192019-06-24
  • MysqlMysql实现增量恢复的方法详解

    Mysql实现增量恢复的方法详解

    本文给大家分享的是如何实现mysql增量恢复的场景以及具体实现方法,有需要的小伙伴可以参考下...

    xiaoyaokeyx2532019-07-04
  • Mysql详解mysql中的concat相关函数

    详解mysql中的concat相关函数

    这篇文章主要介绍了mysql中的concat相关函数,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    码农Robin3592019-06-15
  • Mysql从一个MySQL的例子来学习查询语句

    从一个MySQL的例子来学习查询语句

    自上学这么多年以来,得出了从一个例子入手来学习是最快最有效,并能培养出很强的实践能力,这是一种很好的学习方法。不访试试。比如看一本书的时...

    mysql教程网2782019-10-16