5.7版本mysql中localhost和%的关系探究

本文探讨了MySQL中关于root用户的不同主机配置导致的登录问题。揭示了当root用户在主机为%与localhost设置不同密码时,本地登录仅识别localhost密码的情况,并提供了验证步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在使用navicate连接本地数据库时,一直报错,连接拒绝:


本人明明记得密码是‘mysql1234’,怎么就登不上了呢。。。。。

无奈之下,切入到cmd模式下,进行登录:



输入密码‘mysql1234’-----竟然成功登录了。

赶紧去user表下查看一下root用户的host和password:



噢no!!,root用户下host为‘%‘和‘localhost’的密码竟然不一样,难怪。。。,但是不是说%的主机包括localhost主机吗,江湖传言root用户在主机为%时,无论时本地localhost还是非本机ip都能登录啊,看来他们之间还是不能完全兼容的。

后面我又做了验证发现以下规律:当不给localhost主机添加密码时,无论是在非本机ip还是localhost都能依靠主机为%的密码通过mysql验证,完成连接;

当单独给localhost添加跟%不一样的密码时,如果你在本地登录,mysql数据库只认localhost主机的密码,不认%主机的密码,并且通过navicate登录的时候虽然你的主机名或者ip填的localhost,mysql也不会让你通过主机为localhost那个密码登录的,只能使用%的那个密码登录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值