naviact连接报1045错误,个人解决方案

1:背景

本人在使用navicat连接远程mysql时,一直报1045错误,可是我个人认为自己绝对绝对没有输入错误mysql的账号密码,不就是mysql -uroot -p****吗?

2:问题分析

直接上结论,1045错误一定是你本人记错了用户名和密码。
在使用navicat的时候,默认安装的mariadb是不允许remote连接的,当时的处理是对mysql的用户权限进行了修改,添加了一个新用户并赋权host=“%”(具体见另一篇安装的博文)。

3:问题解决

嘴硬不是办法,进终端的mysql中查看自己到底有没有记错密码(输错密码)
在mysql中use mysql; 进入mysql数据库中,然后查看用户表数据select user, host, password from user;进入sql并且查看mysql.user表项
一般默认是root用户,所以查看root用户的密码设置
这里要尤其注意host=%的,这个是保证该数据库允许远程访问的,注意该密码是否和其他密码的一致性,结果如下
在这里插入图片描述
好家伙,自己在新建用户权限时输入错了密码,很明显和其他密码不一致,发现自己一直所信奉的自己没有输错密码其实在最开始设置host=%的时候就是错的,从而导致在本地host=localhost的环境下mysql -uroot -p的时候正常,远程链接navicat的时候觉得自己没有输错密码的假象,因为不是一个用户(你就是输错了,不要嘴硬)
此时只要修改这个用户密码就可以set password for root@% = password('123');这里百分号换成自己错误的host,123换成自己自以为没输入错的密码
再重新刷新权限flush privilege;
这回再链接navicat输入自以为正确的密码就能正确链接了

4:结果

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值