navicat中mysql数据库可以密码连接,但是localhost_3306进不去。

**我详细_的叙述一下经过:**
首先是一道题:“以user1用户身份登录数据库”,由于不能进入,所以根据别人的CSDN博客文章进行了修改:
图片说明
如图所示,当然他的博客中有错误,但是大体正确。 按上述步骤修改完后发现:
“原来进入mysql直接命令行敲mysql便好,但是现在必须账号密码输入”,然后直到下面这道题,就出现了如下问题:
图片说明
我表示一脸懵逼,因为自己是第一次进行此类操作。。。别急,问题还产生更多:
我发现,“navicat可以在以前的基础上输入root密码可以连接mysql数据库,但是会出现下述问题”:
图片说明
图片说明
无助的我,表示更加的懵逼。。。
求大佬解答。

8个回答

在mysql5.7以上版本中,设置密码必须为高强度的密码(大、小写字母,数字,特殊字符),而且不能低于八位,你虽然将密码改成了123456,但是我想你应该还没有把 grant-skip-tables 这个进程杀掉,所以你通过弱口令登录还能登录的上去,
因此在你修改完密码后,你需要将配置文件里面的 grant-skip-tables 去掉,重启下服务,如果这次还能登录进去,你用navicate连接应该是没有问题的
还有刚才看到你有授权的操作,我们常用的格式为 :
grant all privileges on . to 用户名@'localhost' identified by '密码'; 其中*.*,第一个* 代表授权的表名,* 号指所有的表

Vincent_Xupt
一只小菠菜OvO 嗯嗯 老哥说的有道理。grant-skip-tables 这个我在ini文件中注释掉了。 但是原因是:'3306'保存的是以前的设置,用户名和无密码。 右键编辑加入密码就好了。
2 年多之前 回复
Vincent_Xupt
一只小菠菜OvO 链接有bug
2 年多之前 回复

没网,有网就不报错了图片说明

Vincent_Xupt
一只小菠菜OvO 。。。 我连的可能是个假网
2 年多之前 回复

# GRANT ALL On student TO USER_1@loaclhost
你这里的localhost拼错了

Vincent_Xupt
一只小菠菜OvO 确实打错了。 但是后面的插入操作会失败。 还有就是navicat依然是那个毛病。
2 年多之前 回复

检查下你连的是不是你希望连的那个数据库。你本机可能有多个mysql实例或者多个数据库。

Vincent_Xupt
一只小菠菜OvO 是啊。 以前直接就可以用的哦。。。
2 年多之前 回复

1.user1无法登陆,可能是因为未对访问的数据库授权
2.下面的就是花式操作了,很容易出现问题,这种时候,应该先备份系统,方便还原
3.与其寻找偏方,而解决问题的时间,可能重装一次mysql就解决了(重装也有风险,没准最后闹得重装系统 or 还原系统)

Vincent_Xupt
一只小菠菜OvO 重装 太粗暴了。 嘿嘿
2 年多之前 回复
 重置密码
Vincent_Xupt
一只小菠菜OvO 为什么?
2 年多之前 回复

localhost改成127.0.0.1

oliver_105397
Ultraman_TigaSang 回复Siege-lion: 可以试一下
2 年多之前 回复
Vincent_Xupt
一只小菠菜OvO 这个应该不影响吧。 localhost暗示了它本地连接的属性。。。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问