解决mysql"Access denied for user'root'@'IP地址'"问题

在按照前面文章中方法搭建Mysql数据库之后,发现其他机器还是不能访问,

参考以下文章对权限进行修改之后,发现本地机器中root不能访问了。

http://www.cnblogs.com/ycsfwhh/archive/2012/08/07/2626597.html

后来使用 select host, user, grant_priv from user;

发现grant_priv一列有问题,只有有grant_priv的用户才能对其他用户赋予权限。

修改成以下这样,就好了。

复制代码
+-------------------------------------------------+------+------------+
| host                                            | user | grant_priv |
+-------------------------------------------------+------+------------+
| %                                               | root | Y          |
| gzns-ecom-baiduhui-201605-m42n02.gzns.baidu.com | root | Y          |
| 127.0.0.1                                       | root | Y          |
| ::1                                             | root | Y          |
| localhost                                       |      | N          |
| gzns-ecom-baiduhui-201605-m42n02.gzns.baidu.com |      | N          |
| localhost                                       | root | N          |
+-------------------------------------------------+------+------------+
复制代码

 

结果发现本机还是连不上:

$ mysql -P8306 -uroot -p123456
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

再查表看到password这一栏:

复制代码
mysql> select host, user, Password, grant_priv from user;
+-------------------------------------------------+------+-------------------------------------------+------------+
| host                                            | user | Password                                  | grant_priv |
+-------------------------------------------------+------+-------------------------------------------+------------+
| %                                               | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | Y          |
| localhost                                       | root |                                           | Y          |
| 127.0.0.1                                       | root |                                           | Y          |
| ::1                                             | root |                                           | Y          |
| localhost                                       |      |                                           | N          |
| gzns-ecom-baiduhui-201605-m42n02.gzns.baidu.com |      |                                           | N          |
| 127.0.0.1                                       |      | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | N          |
+-------------------------------------------------+------+-------------------------------------------+------------+
7 rows in set (0.00 sec)
复制代码

发现localhost和root这一栏,没有密码,所以不用密码才能登录:

复制代码
$ mysql -P8306 -uroot         
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 294
Server version: 5.5.30-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
复制代码

 

posted @   blcblc  阅读(30243)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示