天天看點

MySQL忘記root密碼解決方法Mysql 5.7 錯誤号碼1862 Your password has expired. To log in you must change it using a client...

今天重新裝了一遍MySQL,因為用的是免安裝的,是以需要重新設定密碼,然後我一通瞎幾把設,結果搞得自己也忘了,沒辦法,隻能重新搞一下,這是網上的方法。親測可用!

  此處我用的是Mysql5.6寫的方法,更高版本的MySQL用這個方法可能會有問題!!!

一.windows下

  1.以系統管理者身份運作cmd.

  2.檢視mysql是否已經啟動,如果已經啟動,就停止:net stop mysql.

  3.切換到MySQL安裝路徑下:D:\WAMP\MySQL-5.6.36\bin;如果已經配了環境變量,可以不用切換了。

  4.在指令行輸入:mysqld -nt --skip-grant-tables

  5.以管理者身份重新啟動一個cmd指令視窗,輸入:mysql -uroot -p,Enter進入資料庫。

  6.如果不想改密碼,隻是想看原來的密碼的話,可以在指令行執行這個語句

1

select

host,

user

,

password

from

mysql.

user

;//即可檢視到使用者和密碼

   7.如果要修改密碼的話,在指令行下 依次 執行下面的語句

1

2

3

4

use mysql

update

user

set

password

=

password

(

"new_pass"

where

user

=

"root"

;// 

'new_pass'

這裡改為你要設定的密碼

flush 

privileges

;

exit

   8.重新啟動MYSQL,輸入密碼登入即可!

Mysql 5.7 錯誤号碼1862 Your password has expired. To log in you must change it using a client...

由于mysql5.7改變了預設的強制更新密碼政策,今天突然網站打不開了。打開日志發現提示:

  1. 錯誤号碼1862

  2. Your password has expired. To log in you must change it using a client that supports expired passwords.

打開mysql command line shell

如果用之前的腳本:

update mysql.user set password=PASSWORD('newpassword') where  User='root';
           

會提示

mysql error You must reset your password using ALTER USER statement before executing this statement.
           

正确的姿勢應該是:依次執行下列語句

1. 更新密碼

SET PASSWORD = PASSWORD('newpassword');
           

成功的話提示:

MySQL忘記root密碼解決方法Mysql 5.7 錯誤号碼1862 Your password has expired. To log in you must change it using a client...

2. 設定密碼永不過期(可選)

ALTER USER 'root' PASSWORD EXPIRE NEVER;
           

3. 重新整理

flush privileges;
           

完成上面三個操作後,退出。用新密碼重新連接配接即可。