解決辦法
方法一
1、停止MYSQL服務
開始->運行 cmd,在命令提示字元視窗輸入 net stop mysql
2、切換目前的目錄到mysql安裝路徑下的bin目錄
如: cd C:mysql5bin
3、設定無密碼登入
執行命令 mysqld-nt --skip-grant-tables
注意:1)確保目前的目錄是mysql的bin目錄;2)如果提示'mysqld-nt' 不是內部或外部命令,也不是可啟動並執行程式或批次檔,請下載mysqld-nt.rar。
4、登入mysql
新開一個命令提示字元視窗,切換目前的目錄到mysql的bin目錄,輸入 mysql -u root -p
空密碼登入到mysql。
5、設定root的新密碼
輸入update mysql.user set password=PASSWORD("newpassword") where User="root";
6、重新整理許可權表並退出
輸入flush privileges;quit;
7、結束mysqld-nt.exe進程
開啟工作管理員,結束mysqld-nt.exe進程。
方法二
有可能你的系統沒有 safe_mysqld 程式(比如我現在用的 ubuntu作業系統, apt-get安裝的mysql) , 下面方法可以恢複
1. 停止mysqld;
/etc/init.d/mysql stop
(您可能有其它的方法,總之停止mysqld的運行就可以了)
2. 用以下命令啟動MySQL,以不檢查許可權的方式啟動;
| 代碼如下 |
複製代碼 |
mysqld --skip-grant-tables &
|
3. 然後用空密碼方式使用root使用者登入 MySQL;
4. 修改root使用者的密碼;
| 代碼如下 |
複製代碼 |
mysql> update mysql.user set password=PASSWORD('newpassword') where User='root'; mysql> flush privileges; mysql> quit
|
重新啟動MySQL
/etc/init.d/mysql restart
就可以使用新密碼 newpassword 登入了。
另外記錄一下忘記mysql 密碼的取回方法
如果 MySQL 正在運行,
首先殺之: killall -TERM mysqld(如果是windows,直接調出進程管理器,結束之)
以安全模式啟動 MySQ:
| 代碼如下 |
複製代碼 |
/usr/bin/safe_mysqld --skip-grant-tables & (windows 下 mysql安裝所以盤/mysql/bin/safe_mysqld --skip-grant-tables )
|
就可以不要求輸入密碼就進入 MySQL 了.
然後就是
| 代碼如下 |
複製代碼 |
>use mysql >update user set password=password("new_pass") where user="root"; >flush privileges;
|
重新殺 MySQL,用正常方法啟動 MySQL.
這個方法沒嘗試過大家可嘗試一下
使用mysqladmin,這是前面聲明的一個特例。
| 代碼如下 |
複製代碼 |
mysqladmin -u root -p password mypasswd
|
輸入這個命令後,需要輸入root的原密碼,然後root的密碼將改為mypasswd。把命令裡的root改為你的使用者名稱,你就可以改你自己的密碼了。