MySQL錯誤號碼1862:your password has expired
因為是好久沒有用mysql,然後隔了三個多月再次登入就出現了以上問題,嗯嗯,從來不太會用命令列的我,在QQ群裡求助,最終迷迷糊糊的解決了。。。。反正記錄一下希望對大家有幫助吧,我到現在也迷迷糊糊的。
我是win8的系統。
1):win+R,執行裡輸入services.msc開啟服務,關閉MySQL57服務(57是我的MySQL Server的版本號)
2):win+R。執行中輸入cmd,cd C:/Program Files/MySQL/MySQL Server 5.7/bin回車進入bin目錄下面,然後 mysqld --defaults-file="C:/ProgramData/MySQL/MySQL Server 5.7/my.ini" --skip-grant-tables
一定是my.ini,我一開始找到Program Files下面的my-default.ini去了,可以再服務中右擊屬性檢視一下,就是這個。
這句話貌似是在命令視窗中開了一個mySQL的服務,該命令通過跳過許可權安全檢查,開啟mysql服務,這樣連線mysql時,可以不用輸入使用者密碼。
3):win+R,新開一個cmd視窗,原來的別關了呀。
輸入命令:
mysql -uroot -p
出現:
Enter password:
在這裡直接回車,不用輸入密碼。
然後就就會出現登入成功的資訊。然後在這裡登SQLyog就可以登進去了耶
4)更改密碼(在SQLyog裡面):update mysql.user set password=password("123456") where user='root';
5)反正後面就是>mysql -uroot -p123456命令列中可以登入進去,但是SQLyog還是不行,後面又查了資料:
都關閉了之後,服務中將MySQL57服務開啟
執行視窗中進入bin目錄,>mysql -uroot -p123456登入進去,然後執行select * from mysql.users
會有如下資訊:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
解決:mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
然後再select * from mysql.users就有結果了。
然後再SQLyog就登入進去了。
我的反正就好了,不知道怎麼就好了呢,還有QQ群友遠端協助來著:ありがとうございました。
嗯嗯,僅作參考吧。想想我大概想了十幾回要解除安裝重灌,但是最後也只是將SQLyog解除安裝重灌了四次or五次?呵呵,解除安裝MySQL會比較麻煩吧,有問題還是努力去解決的好吧。加油!
參考資料:
1).http://www.cnblogs.com/andy_tigger/archive/2012/04/12/2443652.html
2). http://www.jb51.net/article/39187.htm
