MariaDB 10.4+ 新版本默認初始密碼的修改

最近,很多人問 maradb 的密碼修改不了,用以前 set password 的 mysql 命令,報下面的錯誤

Column 'Password' is not updatable

為什么改不了呢,因為 mysql.user 表不見了,現(xiàn)在它只是 mysql.global_priv 表的一個視圖,所以不能修改原來的 mysql.user 表了,而密碼是更改為在 authentication_string 字段中存放。

當然,如果你認為將修改密碼的語句改為下面語句也是不好使的

UPDATE mysql.user SET authentication_string = PASSWORD('123456') WHERE User = 'root';
# 會報一個大大的錯給你
ERROR 1348 (HY000): Column 'authentication_string' is not updatable

這是因為 mariadb 10.4 可以給用戶設置多種認證方式了,在初始安裝的時候,默認創(chuàng)建了2個默認賬號: root,mysql,并默認使用unix_socket模式認證 ,這種模式 root 不需要密碼, 也不需要你去設置初始密碼。

MariaDB [(none)]> select user,plugin from mysql.user limit 1;
+------+-----------------------+
| User | plugin                |
+------+-----------------------+
| root | unix_socket |
+------+-----------------------+

這樣登錄 mysql 你就不需要像以前一樣 mysql -uroot -p, 而是直接 mysql,只要登陸用戶有系統(tǒng)root權限就可以進去。

當然,如果你不想使用這個方式,還是想使用以前的密碼登陸,也是支持。

# 先登陸要修改的用戶
mysql -uroot
#改認證模式
update mysql.user set plugin = 'mysql_native_password' where user = 'root';
# 然后再
set password = password('123456')

這樣就把root的密碼改為了 123456

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容