Mysql普通用户不用输入密码也登陆解决办法

本文记录了一次MySQL数据库中用户权限配置的问题排查过程。作者发现虽然为特定用户设置了密码,但仍能无密码访问数据库。通过检查用户表和调整登录主机名解决了该问题。

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

我给user设置了密码但是也可以不用-p直接访问数据库,郁闷。

下面进入root用户通过代码查询它的密码 返回的是

+-----------+------+-------------------------------------------+-------------+-------------+

| Host | User | Password | Select_priv | Insert_priv                                      | ...

+-----------+------+-------------------------------------------+-------------+-------------+

| localhost | root | *FD571203974BA9AFE270FE62151AE967ECA5E0AA

|              % | lynn | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9

| +-----------+------+-------------------------------------------+-------------+-------------+

使用select password('123456');

验证结果

+-------------------------------------------+

| password('123456') |

+-------------------------------------------+

| *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9

|+-------------------------------------------+

1 row in set (0.00 sec)看来我设置的是正确的。但是进入的时候居然不要密码...


!!解决思路:是不是因为lynn用户没有设置登入域(localhost)导致?

create user 'lynn'@'localhost' identified by '123456'
--返回Query OK, 0 rows affected (0.00 sec)
 grant all on *.* to 'lynn'@'localhost';
--返回Query OK, 0 rows affected (0.00 sec)


退出root 重新试试

C:\Documents and Settings\Administrator>mysql -ulynn -hlocalhost
ERROR 1045 (28000): Access denied for user 'lynn'@'localhost' (using password: NO)


!!果然 添加到Host才要求输入密码。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值