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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM