1. 程式人生 > >linux系統修改mysql資料庫root密碼

linux系統修改mysql資料庫root密碼

剛開始時,我是這樣修改的:
首先登入MySQL。
mysql> use mysql;
mysql> update user set password=password(‘123’) where user=’root’ and host=’localhost’;
mysql> flush privileges;
然後重啟mysql服務,可是重新登入時,使用新密碼登入時卻遭拒絕,使用原密碼登入反而登入進去了,這說明修改密碼的工作還不起作用,經過各種嘗試,還是不行,後面在一篇部落格中https://blog.csdn.net/wokao_wg/article/details/78523366?locationNum=9&fps=1受到啟發,原來修改密碼,需要修改兩次,一次authentication_string,一次 password。具體實現可參考如下步驟:
1、編輯my.cnf檔案,在mysqld最後一行新增skip-grant-tables,跳過許可權驗證;
2、使用以下SQL語句進行查詢,select * from mysql.user,就會發現password的值和authentication_string(該欄位在表的最後一列)的值並不相同,如果兩者不一致,將會導致使用密碼登入不上;
3.明白這一點,那麼就剩下設定authentication_string的值與password一致了,使用以下語句進行修改:
在這裡插入圖片描述


4、把之前的配置skip-grant-tables去掉也可註釋掉,方便以後使用,建議在skip前加上#註釋掉,然後重新啟動mysql