mysql 本地 无密码_mysql在本地无法使用密码登陆

为自己添加了访问数据库权限:

mysql> CREATE USER 'caohong'@'%' IDENTIFIED BY '123456';

mysql> GRANT ALL PRIVILEGES ON testdb.* to 'caohong'@'%' WITH GRANT OPTION;

结果提示访问失败:

mysql -u caohong -p

Password:

ERROR 1045 (28000): Access denied for user 'caohong'@'localhost' (using password: YES)

但可以无密码的方式可以登陆 mysql -u caohong

解决方法参考stackoverflow

说明:

查一下无密码登陆的当前账号:

mysql> select user(), current_user();

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

| user() | current_user() |

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

| caohong@localhost | @localhost |

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

1 row in set (0.08 sec)

用无密码的方式登陆localhost,实际上使用的是匿名用户,可以用root密码看一下,当前允许使用匿名用户:

mysql --user=root mysql

mysql> select user, host from mysql.user;

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

| user | host |

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

| caohong | % |

| test | % |

| root | 127.0.0.1 |

| root | ::1 |

| | localhost |

| root | localhost |

| test | localhost |

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

解决方法是删除这个匿名用户:

mysql> drop user ''@'localhost';

Query OK, 0 rows affected (0.09 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值