1. 程式人生 > >mysql5.7如何修改密碼以及密碼如何忘記無密碼登陸

mysql5.7如何修改密碼以及密碼如何忘記無密碼登陸

失效 文件 但是 改密 ima 修改 日誌 grant 開啟

今天買了一臺阿裏雲服務器,Centos7.3系統,環境是LAMP。學生價9.8元是真的很實惠了。然後想修改一下mysql服務器的密碼(mysql版本5.7),結果操作失誤,密碼給忘記了,導致新舊密碼都不能登陸服務器,真是蛋疼。不過最終依靠自己的努力還是解決了問題。

錯誤案例演示

先來看一下我剛開始是怎麽出錯的(這是錯誤案例,大家不要照著這個例子敲,這裏先演示了如何出錯的,最後再修改):

1、先登陸服務器,use一個數據庫“mysql”。然後修改user表裏面的數據。畢竟mysql的密碼是存在這個表裏面的。

2、然後開始修改密碼

技術分享圖片

結果報了一個錯誤,仔細一看是說mysql服務器是以安全模式啟動的,因此我們不能修改密碼,這個比較好解決,把mysql的保護關閉即可

技術分享圖片

設置為“0”表示關閉mysql的保護,開啟的話就設置為“1”即可、

3、現在可以修改密碼啦

技術分享圖片 (這是錯誤的語法,不要這樣做,我是為了演示)

然後再flush一下

技術分享圖片

結果成功了,我高興的退出服務器重新登錄,發現新密碼不能登錄服務器,真是頭大。後來舊密碼也不能登錄服務器了,此時崩潰了。

成功案例演示

上面的例子導致我新舊密碼都不能登陸服務器,後來沒辦法只能無密碼登陸服務器然後再修改密碼啦。不過問題出錯的原因是修改密碼的語法是錯誤的,雖然執行成功了,但是並沒有真的修改密碼成功,並且舊密碼也失效了。既然知道了出錯原因,接下來就好辦了。

無密碼登陸mysql演示

1、修改/etc/my.cnf文件加入“skip-grant-tables”

技術分享圖片

然後重新啟動mysql

技術分享圖片

結果出錯了,意外,趕緊查看日誌

技術分享圖片

發現剛剛加入的那句話出現了問題,想想不對呀,後來發現mysql5.7加入的這句話是“skip-grant-tables”。少了前面的兩個橫杠

繼續修改

技術分享圖片

再啟動

技術分享圖片

啟動成功

然後無密碼登陸

技術分享圖片(這個才是真正修改密碼的語法)

然後再刷新一下

技術分享圖片

最後退出mysql服務器,這個時候就可以使用新密碼登錄系統了。

總結:mysql5.7與之前的版本比較出現了一些變化,我們不懂要去網上問一下。最後mysql5.7修改密碼的語法一定要記清楚。

mysql5.7如何修改密碼以及密碼如何忘記無密碼登陸