忘記 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)