編碼的世界 / 優質文選 / 歷史

mysql忘記密碼解決方案及三種方式修改密碼


2022年7月24日
-   

歡迎大家點一個關注,支持我的原創文章,謝謝!
 
1、修改密碼的三種方式
mysql用戶分為root用戶(超級管理員,擁有所有權限)和普通用戶,mysql服務器通過權限表來控制用戶對數據庫的訪問,這些權限表存於root用戶下的mysql數據庫中。
在使用mysql數據庫過程中,往往需要修改密碼的操作,下面介紹三種修改密碼的方式:
1.1、使用mysqladmin命令在命令行指定新密碼
      mysqladmin -u root -p password ‘新密碼’
      回車,將提醒你輸入原密碼

1.2、使用set語句
      set password=password(“新密碼”)
      這時需要重啟mysql服務器或使用flush privileges語句刷新權限表,使新密碼生效
1.3、修改user表
      update mysql.user set authentication_string=PASSWORD("123456") where user="root" and host="localhost"
      注意,mysql新版本用於存用戶密碼的字段名為authentication_string而不是 password,且新密碼必須使用password函數進行          加密
1.4、mysql8.0修改密碼語句
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ok';
如遇報錯,先執行flush privileges
2、忘記密碼怎麼辦呢?
另外,不知道小夥伴們有沒有遇到過忘記密碼的情況呢?其實忘記密碼很容易解決,下面就介紹忘記密碼時的解決方案:第一步:在命令行輸入net stop mysql命令關閉mysql服務
第二步:使用skip-grant-tables選項啟動mysql服務(服務器將不加載權限判斷,任何用戶 都能訪問數據庫)
              在命令行輸入 mysqld skip-grant-tables
              命令運行之後,用戶無法再輸入指令,此時如果在任務管理器中可以看到名稱為 mysqld的進程,則表示可以用root用戶                登錄服務器了
第三步:打開另一個命令行窗口,輸入不加密碼的登錄命令
              mysql -u root
              登錄成功後可以使用update語句修改密碼
              修改完成後,必須使用flush privileges語句刷新權限表,這樣新的密碼才能生效
第四步:將輸入mysqld skip-grant-tables命令的命令行窗口關閉,接下來就可以使用新密碼登錄mysql服務器了
怎麼樣,是不是覺得很簡單呢?以後忘記密碼再也不用愁了!

熱門文章