MySQL 在本机命令行登录无需密码

MySQL 在本机命令行登录无需密码

发表于 2019/04/08 更新于 2020/04/27 141 字 1 分钟
AI 摘要 由 AI 自动生成

|

复现问题

mariaDB 版本:10.0.36

现象

使用 mysqladmin -u root password p@ssword 修改密码之后,在命令行使用 mysql -u root -p 登录 MySQL 提示需要输入密码,但无论输入什么,均可登陆。

原因

从 5.5.7 版本中 MySQL 数据库中就开始引入 plugin 这项配置,用来进行用户密码验证,同时 mariaDB 安装的默认插件是 ‘console’ 或 ‘unix_socket’,这个插件允许你在没有密码的情况下从控制台输入可以登录,禁用密码验证。并且您无法从其他客户端连接。

解决方法

mysql -u root -p
use mysql;
select user,password,plugin from user;
update user set plugin='' where user='root';

OK!

作者: 小谈谈
声明: 本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。