怎么解决MySQL中的ERROR 1045 (28000)错误问题

58次阅读
没有评论

共计 2488 个字符,预计需要花费 7 分钟才能阅读完成。

本篇内容介绍了“怎么解决 MySQL 中的 ERROR 1045 (28000)错误问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、错误描述:
错误如标题:ERROR 1045 (28000): Access denied for user root @ localhost (using password: YES)。我用 root@localhost 授权登陆,然后给其中
一个用户授权,然后报如上错误:
[mysql@centos6-clone ~]$ mysql -u root -p
Enter password: 
Your MySQL connection id is 2
Server version: 5.6.25-log MySQL Community Server (GPL)
mysql  grant all  on *.* to fi @ 127.0.0.1 identified by fi
ERROR 1045 (28000): Access denied for user root @ localhost (using password: YES)
mysql exit
Bye
按理来说,root@localhost 是最高权限。居然不能给其他人授权。1045 错误是授权拒绝。怎么办?
二、错误分析
查看下 root 权限:
mysql show grants;
+———————————————————————————————————————-+
| Grants for root@localhost                                                                                            |
+———————————————————————————————————————-+
| GRANT ALL PRIVILEGES ON *.* TO root @ localhost IDENTIFIED BY PASSWORD *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
| GRANT PROXY ON @ TO root @ localhost WITH GRANT OPTION                                                         |
+———————————————————————————————————————-+
2 rows in set (0.00 sec)
我们看 root@localhost 有权限:ALL PRIVILEGES,但是没有 WITH GRANT OPTION 语句,就是别人授权的权限。所以,不能授权的原因是:
没有这个 WITH GRANT OPTION 语句。
三、错误解决
知道原因了,解决问题就很简单了。用另外一个方式登录 root@127.0.0.1, 然后给 root@localhost 授权,这样 root@localhost 就可以给其他用户
授权了。
[mysql@centos6-clone ~]$ mysql -uroot -p -h227.0.0.1
Enter password: 
mysql SHOW GRANTS
    –
+—————————————————————————————————————————————-+
| Grants for root@127.0.0.1                                                                                                              |
+—————————————————————————————————————————————-+
| GRANT ALL PRIVILEGES ON *.* TO root @ 127.0.0.1 IDENTIFIED BY PASSWORD *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA WITH GRANT OPTION |
+—————————————————————————————————————————————-+
1 row in set (0.00 sec)
mysql  GRANT ALL PRIVILEGES ON *.* TO root @ localhost IDENTIFIED BY PASSWORD *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql exit
[mysql@centos6-clone ~]$ mysql -uroot -p
Enter password: 
mysql grant all  on *.* to fo @ % identified by fo
Query OK, 0 rows affected (0.00 sec)

“怎么解决 MySQL 中的 ERROR 1045 (28000)错误问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-19发表,共计2488字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)