MySQL重置密碼

2022-09-04 04:54:13 字數 1700 閱讀 4522

可能由於各種原因,我們不小心丟掉了mysql密碼,要用的時候無法登陸了,只能重置密碼了!該配置修改文件是在linux ubunt環境下進行的,其他作業系統亦可作為參考,原理一樣!

修改mysql的配置檔案,跳過登入時的許可權驗證

centos是在 /etc/my.cnf

ubunt的mysql配置檔案路徑:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

#在[mysqld]下追加上 skip-grant-tables

[mysqld]

...skip-grant-tables

重啟mysql服務使配置生效

sudo service mysql restart

重啟完mysql服務之後我們再次執行mysql登入命令,會發現不用輸入密碼即可登入.

mysql -u root -p

重置root賬戶密碼

update mysql.user set authentication_string="" where user="root";

update mysql.user set authentication_string=password("pswd") where user="root";

重新整理許可權表

flush privileges;

重置root密碼,重新整理許可權表之後退出mysql命令列,將剛在配置檔案中新增的跳過許可權驗證的配置命令刪除.最後重啟mysql服務即可用root使用者密碼登入!

刪除新增的跳過許可權驗證配置命令,重啟mysql服務

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

#刪除或注釋剛才在[mysqld]下追加 skip-grant-tables

[mysqld]

...#skip-grant-tables

重啟mysql服務

sudo service mysql restart
出於安全考慮我們不會讓mysql使用者無密碼即可登入,要在重置完密碼後為root賬戶設定密碼

設定密碼要把配置檔案中的跳過許可權驗證命令去掉以後重啟mysql服務登入設定才行,不然會提示沒有驗證,無許可權操作

方法1:

以 root 身份登入 mysql後,再使用 set password 命令修改密碼:

set password for root@localhost = password("new_password");

方法2:

mysqladmin -u root -p password "new_password"

#執行該命名後會提示輸入原密碼,輸入正確後即可修改。

方法3:

update mysql.user set authentication_string=password("pswd") where user="root";

#在重置 root 密碼的同時,也可以設定預設密碼。不過密碼不能為明文,必須使用 password() 函式加密

使用該方法之後需重新整理許可權列表:

flush privileges;

重置mysql 密碼 mysql重置密碼

ubuntu下重置mysql的root密碼 sudo vi etc mysql my.cnf,在 mysqld 段中加入一行 skip grant tables sudo service mysql restart,重啟mysql服務 sudo mysql u root p mysql,用空密碼進入...

mysql 重置密碼 mysql 重置密碼

mysql 重置密碼 版本5.7之前 1 修改mysql配置檔案 vi etc my.cnf 注 windows下修改的是my.ini 在 mysqld 後面任意一行新增 skip grant tables 用來跳過密碼驗證的過程。重啟mysql 2 進入mysql root localhost m...

重置評 mysql密碼 重置mysql密碼

以下解決方法在此url中 當使用 mysql uroot p 時,提示下面錯誤 error 1045 28000 access denied for user root localhost using password no 那麼我們可以重置密碼 etc init.d mysql stop 先停止m...