mysql8重置root用戶密碼的完整步驟
前言
最近很多新入職的同事問這個問題,特別是通過 homebrew 自動安裝的 mysql ,其版本默認已經(jīng)是 8.0 了,由于增加了一些安全策略等限制,所以修改用戶密碼會稍微麻煩些,索性就把這個總結貼一下吧。
下面話不多說了,來一起看看詳細的介紹吧
步驟如下:
1、首先查看 root 用戶相關信息,在 mysql 數(shù)據(jù)庫的 user 表中:
select host, user, authentication_string, plugin from user;
host:允許用戶登錄的ip‘位置'%表示可以遠程;
user:當前數(shù)據(jù)庫的用戶名;
authentication_string:用戶密碼;在mysql 5.7.9以后廢棄了password字段和password()函數(shù);
plugin:密碼加密方式;
如果發(fā)現(xiàn) root 用戶的 authentication_string 字段下有內(nèi)容,先將其設置為空:
use mysql; update user set authentication_string='' where user='root';
2、重啟 mysql 服務,mac 里直接命令把服務關閉:
mysql.server stop
或者把 mysql 進程 kill 掉。然后在啟動 mysql 服務:
mysql.server start
3、用 root 用戶登錄,因為已經(jīng)把 authentication_string 設置為空,所以可以免密碼登錄:
mysql -u root -p passwrod:
不需要輸入密碼,直接回車即可
4、進入 mysql 庫,使用 ALTER 修改 root 用戶密碼:
ALTER user 'root' IDENTIFIED BY '123456' ;
語句中的 root 需要跟你實際 user 表里 root 用戶存的是 root 還是 root@localhost 而定,由于我這里把密碼改成了 123456 這樣比較簡單的格式,可能 mysql 8 默認密碼策略不允許,非要改的話可以先修改一下密碼策略:
set global validate_password.length = 6 ; set global validate_password.policy = 'LOW'; FLUSH PRIVILEGES;
這里把密碼長度由默認的8位改成了6位,并且密碼策略級別由 MEDIUM 改成了 LOW。如果要查看密碼校驗相關設置的話可以直接查詢系統(tǒng)變量:
SHOW VARIABLES LIKE 'validate_password.%';
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
MySQL復雜查詢優(yōu)化實戰(zhàn)之從多表關聯(lián)到子查詢的性能突破(全流程)
MySQL復雜查詢性能優(yōu)化方法,涵蓋JOIN順序調(diào)整、子查詢轉(zhuǎn)JOIN、復合索引設計、分批次處理大表關聯(lián)、統(tǒng)計信息更新等策略,強調(diào)通過執(zhí)行計劃分析定位瓶頸,本文給大家介紹MySQL復雜查詢優(yōu)化實戰(zhàn)之從多表關聯(lián)到子查詢的性能突破,感興趣的朋友一起看看吧2025-06-06
解決MySQL報錯1267 - Illegal mix of coll
這篇文章主要給大家介紹了解決MySQL報錯1267 - Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPL的問題,文中有詳細的解決方案,需要的朋友可以參考下2023-09-09
mysql使用教程之分區(qū)表的使用方法(刪除分區(qū)表)
mysql分區(qū)表使用方法,新增分區(qū)、刪除分區(qū)、分區(qū)的合并、分區(qū)的拆分等使用方法2013-12-12

