MariaDB修改密码不生效
MariaDB数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
在新版的Mariadb安装过程中没有设置密码的过程了,而用mysql_secure_installation命令设置Root密码,然后用phpmyadmin登录发现提示 Access denied for user ‘root’@‘localhost’
而在命令行你发现直接用mysql就可以登录数据库,完全不用密码,然而你用其他的mysql管理工具使用密码无论如何都会提示 Access denied for user ‘root’@‘localhost’ 。搜索了一下,原来不是我们安装或者操作除了问题,是Mariadb
在5.2.0以后的版本默认不再使用密码认证了,改用Authentication Plugin - Unix Socket插件认证。具体参考https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/
使用service mysql status查看mysql服务状态你会发现有这样一条警告。
[Warning] ‘user’ entry root@localhost’ has both a password and an authentication plugin specified. The password will be ignored.
也就是使用Unix Socke插件认证直接忽略密码,自然使用密码也就无效了。
##解决方法
虽然这是为了提高安全性,但有的地方我们必须使用密码认证登录,因此我们就要修改验证为密码的方式。直接在命令行输入 mysql 登录数据库。使用以下命令修改
use mysql;
update mysql.user set plugin='mysql_native_password' where User='root';
flush privileges;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?