程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 怎樣重新設置一個忘記的口令,這次誤操作不管用了?

怎樣重新設置一個忘記的口令,這次誤操作不管用了?

編輯:關於MYSQL數據庫

如果你忘記了MySQLroot用戶的口令,你可以用下列過程恢復它。

kill `cat /MySQL-data-directory/hostname.pid`
使用--skip-grant-tables選項重啟MySQLd

mysql -h hostname MySQL連接MySQLd服務器並且用一條GRANT命令改變口令。也可以用MySQLadmin -h hostname -u user password 'new passWord' 進行。

這是從baidu,google上能搜索到的,其實也是MySQL手冊中(8.9 怎樣重新設置一個忘記的口令),所提到了,但我這次在Windows 下卻失敗了...

如果你忘記了MySQLroot用戶的口令,你可以用下列過程恢復它。

  1. 通過發送一個kill(不是kill -9)到MySQLd服務器來關閉MySQLd服務器。pid 被保存在一個.pid文件中,通常在MySQL數據庫目錄中:
    kill `cat /MySQL-data-directory/hostname.pid`
    
    
    
    

    你必須是一個UNIX root用戶或運行服務器的相同用戶做這個。

  2. 使用--skip-grant-tables選項重啟MySQLd
  3. mysql -h hostname MySQL連接MySQLd服務器並且用一條GRANT命令改變口令。見7.26 GRANTREVOKE句法。你也可以用MySQLadmin -h hostname -u user password 'new passWord' 進行。
  4. MySQLadmin -h hostname flush-privileges或用SQL命令FLUSH PRIVILEGES來裝載權限表

這是從baidu,google上能搜索到的,其實也是MySQL手冊中(8.9 怎樣重新設置一個忘記的口令),所提到了,但我這次在Windows 下卻失敗了...

因為我只有一個用戶:select user,host from user時

| root | localhost |

後來我用update user set password=PASSWORD(''); 可是我用錯了,我用成了:update user set passWord='';

突然退出後,再登錄就無法登錄了,真是沒法啊.

按以上的步驟進行到mysqld --skip-grant-tables後無報錯,但mysql還是沒有啟動,所以無法用後面的MySQL登錄,因為此時3306都沒有打開.

無可賴何之下只得重裝它(教訓!).

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved