作者 主題: [ MySQL ] 忘了 mySQL 的 root password 怎麼辦?  (閱讀 16117 次)

0 會員 與 1 訪客 正在閱讀本文。

劍客

  • 活潑的大學生
  • ***
  • 文章數: 238
    • 檢視個人資料
    • http://kalug.ks.edu.tw
忘記 root 密碼時,先把 mysql 關掉,然後打 mysqld --skip-grant-tables
這樣就沒有權限管制。改完密碼應該立刻重新執行。

>發信人: hoho (hoho)    看板: linux
>日期: Tue Aug 14 00:51:04 2001
>標題: Re: 忘了 mySQL 的 root password 怎麼辦?
>>在您回覆前我又重灌了, linux 7.0 一次, 之後我再把
>>MySQL-3.23.40-1.i386 install, 這次我一樣按照
>>http://www.hmes.kh.edu.tw/~jang/mysql.html 此網頁的
>>指示做了
>>1. mysql mysql
>>2. UPDATE user SET password='test' where user='root';
>>3. DELETE FROM user WHERE User = '';
>>4. FLUSH PRIVILEGES;
>>5. exit
>>6. mysql mysql -uroot -ptest
>>在這個步驟時出現下面的錯誤訊息, 這次我確認我的 password 沒打錯
>>, 為何會出現 Access denied 的訊息哩?
>>ERROR:1045 Access denied for user: 'root@localhost' (Using password: YES)
>        以上第2.項可能有問題,在user table中的password的欄位,
>        應該是test經password()函數編碼過結果,而不是直接把test
>        填入password的欄位,除非你知道那些字經編號後剛好會等於
>        test才有辨法連上mysql。以下是我的mysql.user的部份資料
>        給你參考:
>        mysql> select host,user,password  from user;
>        +------------------+------+------------------+
>        | host             | user | password         |
>        +------------------+------+------------------+
>        | localhost        | root | 58734e9a5e35ee65 |
>        | amd.honya.com.tw | root |                  |
>        | localhost        |      |                  |
>        | amd.honya.com.tw |      |                  |
>        | localhost        | cym  | 4b5698aa4603595b |
>        +------------------+------+------------------+
>        5 rows in set (0.00 sec)

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
[ MySQL ] 忘了 mySQL 的 root password 怎麼辦?
« 回覆 #1 於: 2001-08-24 17:19 »
將系統重新啟動進入單人模式後,
打passwd -d (你的root帳號)
再打passwd (你的root帳號)
就可以了!

劍客

  • 活潑的大學生
  • ***
  • 文章數: 238
    • 檢視個人資料
    • http://kalug.ks.edu.tw
[ MySQL ] 忘了 mySQL 的 root password 怎麼辦?
« 回覆 #2 於: 2001-09-01 09:39 »
我們是在說 mysql ㄋㄟ,您說的這個應該是系統帳號的密碼變更。系統帳號的密碼跟 mysql 的密碼無關ㄋㄟ!

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
[ MySQL ] 忘了 mySQL 的 root password 怎麼辦?
« 回覆 #3 於: 2001-09-02 09:53 »
別的地方co來的,供您參考..

1.先停止 MySQL deamon

2.重新啟動 MySQL

$MySQLpath/bin/libexec/mysqld --skip-grant-tables

(不check權限)

3.Login MySQL

mysql -u root

4.修改密碼

use mysql ;

update user set password=password('new_password') where user = 'root' ;

FLUSH PRIVILEGES ;

5.shutdown MySQL and 重新啟動 MySQL

5.1 可以用 kill -9 shutdown MySQL

5.2 啟動MySQL ==> $MySQLpath/bin/libexec/mysqld

 
以上摘自小編的技術交流網 http://ccw0729.wakanet.com.tw/

劍客

  • 活潑的大學生
  • ***
  • 文章數: 238
    • 檢視個人資料
    • http://kalug.ks.edu.tw
[ MySQL ] 忘了 mySQL 的 root password 怎麼辦?
« 回覆 #4 於: 2001-09-03 10:00 »
第三點我補充說明一下,既然 skip-grant-tables ,基本上只要 打 mysql 就可以 login ,不需要特定的 user account。

劍客

  • 活潑的大學生
  • ***
  • 文章數: 238
    • 檢視個人資料
    • http://kalug.ks.edu.tw
[ MySQL ] 忘了 mySQL 的 root password 怎麼辦?
« 回覆 #5 於: 2001-11-27 10:45 »
MySQL 手冊
A.4.2 How to Reset a Forgotten Password

Note that after you started mysqld with --skip-grant-tables, any usage of GRANT commands will give you an Unknown command error until you have executed FLUSH PRIVILEGES.

就是說;如果你用 --skip-grant-tables 參數啟動後使用 GRANT 指令之前,你要先打 FLUSH PRIVILEGES ,否則會出現 unknown command.