报错localhost is not allowed to connect

用navicat工具连接mysql的时候报错localhost is not allowed to connect


百度到有两个解决方法:改表法与授权法,但是我试过都不行,只要在my.ini文件里删除skip-grant-tables 就又连接不上了。

无数种尝试之后,我发现把这两个方法结合起来用好像可以。

方法如下:

1.在mysql安装目录下的 my.ini 文件中的 [mysqld] 标签里加上 skip-grant-tables 跳过权限表

2.重启mysql服务,这时可以连接上

3.改表

mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;

4.授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
在网上看到这一句的意思是允许用户在任何地方可连接,password记得修改成root的密码

5.删除my.ini里的skip-grant-tables,重启mysql,就可以连接上了


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值