解決辦法
方法一
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,以不檢查權限的方式啟動;
3. 然後用空密碼方式使用root用戶登錄 MySQL;
代碼如下 復制代碼 mysql -u root4. 修改root用戶的密碼;
代碼如下 復制代碼 mysql> update mysql.user set password=PASSWORD('newpassword') where User='root';重新啟動MySQL
/etc/init.d/mysql restart
就可以使用新密碼 newpassword 登錄了。
另外記錄一下忘記mysql 密碼的取回方法
如果 MySQL 正在運行,
首先殺之: killall -TERM mysqld(如果是windows,直接調出進程管理器,結束之)
以安全模式啟動 MySQ:
就可以不需要密碼就進入 MySQL 了.
然後就是
重新殺 MySQL,用正常方法啟動 MySQL.
這個方法沒嘗試過大家可嘗試一下
使用mysqladmin,這是前面聲明的一個特例。
代碼如下 復制代碼 mysqladmin -u root -p password mypasswd輸入這個命令後,需要輸入root的原密碼,然後root的密碼將改為mypasswd。把命令裡的root改為你的用戶名,你就可以改你自己的密碼了。