Mysql8 0忘記密碼

2022-07-15 15:18:08 字數 1147 閱讀 8525

問題背景:

在ubuntu18上裝完mysql8後,初始化時沒有給隨機密碼,也無法設定密碼;

第一步:修改/etc/my.cnf配置檔案,在[mysqld]ui後加上如下語句:

skip-grant-tables

第二步免密登入到mysql上,

第三步:給root使用者重置秘密;

3.1首先檢視當前root使用者相關資訊,在mysql資料庫的user表中

selecthost, user, authentication_string, pluginfromuser; 

host: 允許使用者登入的ip『位置』%表示可以遠端;

user:當前資料庫的使用者名稱;

authentication_string: 使用者密碼;在mysql 5.7.9以後廢棄了password欄位和password()函式;

plugin: 密碼加密方式;

3.2 如果當前root使用者authentication_string欄位下有內容,先將其設定為空;

use mysql;  

update 

user set authentication_string='' where user='root';

updateusersetpassword_expired='n'whereuser='root';

flushprivileges;

exit;

3.3 退出mysql, 刪除/etc/my.cnf檔案最後的 skip-grant-tables 重啟mysql服務;

service mysqld restart 

3.4 使用root使用者進行登入,因為上面設定了authentication_string為空,所以可以免密碼登入;

3.5使用alter修改root使用者密碼

alteruser'root'@'localhost'identifiedby'zhige123#';

至此修改成功; 從新使用使用者名稱密碼登入即可;

mysql 8 0忘記密碼

開啟終端,停止mysql服務。mysql.server stop進入mysql所在目錄 我的是 usr local bin 如果不確定在哪,可以用which mysql命令查詢一下,然後輸入如下命令 cd usr local bin sudo mysqld safe skip grant table...

MySQL8 0 忘記密碼 修改密碼

mysql 5.7.9以後廢棄了password欄位和password 函式 authentication string 字段表示使用者密碼,而authentication string欄位下只能是mysql加密後的41位字串密碼。所以需要用一下方式來修改root密碼 alter user root...

mysql 8 0 忘記root密碼 linux

1.vim etc my.cnf 在 mysqld 最後加上如下語句並儲存退出 2.重啟mysql服務 service mysqld restart 3.免密碼登陸 mysql u root p password校驗直接回車 select host,user,authentication strin...