首先,我們需要結束掉MySQL的服務進程。
然後在Windows下面一是可以通過任務管理器來結束掉,應該是mysql-nt.exe。二是,如果你的MySQL注冊為服務的話,可以到服務裡面把他先停掉。
在Linux或者unix下面直接kill MySQL的服務進程就可以。
然後,再用 --skip-grant-tables 選項啟動MySQL服務。
在Windows下面,到mysql安裝目錄的bin目錄下面運行:mysql-nt --skip-grant-tables 就可以啟動mysql服務,這樣就可以在無密碼的狀態下進入mysql用MySQL -uroot -p
在Linux下面 一般mysql目錄在:/usr/bin/safe_MySQLd --skip-grant-tables,執行就可以啟動了。
在Freebsd下面,在/usr/local/etc/rc.d/MySQL-server --skip-grant-tables ,執行啟動。
其他的Unix系統沒有研究過。呵呵。
進入MySQL以後,執行一下語句:
use MySQL update user set password=passWord("new_pass") where user="root"; flush privileges;最後結我們來結束現在的mysql服務進程,重新啟動你的MySQL,就可以用你設置的密碼登錄了。
--------------------------------------------------------------------------------
一. MySQL密碼的恢復方法之一
如果忘記了MySQL的root密碼,可以用以下方法重新設置:
1. KILL掉系統裡的MySQL進程;
killall -TERM MySQLd
2. 用以下命令啟動MySQL,以不檢查權限的方式啟動;
safe_MySQLd --skip-grant-tables &
3. 然後用空密碼方式使用root用戶登錄 MySQL;
MySQL -u root
4. 修改root用戶的密碼;
mysql> update MySQL.user set password=PASSWord('新密碼') where User='root';
MySQL> flush privileges;
MySQL> quit
重新啟動MySQL,就可以使用新密碼登錄了。
二. MySQL密碼的恢復方法二
有可能你的系統沒有 safe_mysqld 程序(比如我現在用的 ubuntu操作系統, apt-get安裝的MySQL) , 下面方法可以恢復
1. 停止MySQLd;
sudo /etc/init.d/MySQL stop
(您可能有其它的方法,總之停止MySQLd的運行就可以了)
2. 用以下命令啟動MySQL,以不檢查權限的方式啟動;
MySQLd --skip-grant-tables &
3. 然後用空密碼方式使用root用戶登錄 MySQL;
MySQL -u root
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 登錄了。
(完)
-------------------------------------------------------------------------------------
1,停止MYSQL服務,CMD打開DOS窗口,輸入 net stop MySQL2,在CMD命令行窗口,進入MYSQL安裝目錄 比如 d:\MySQL20080505\bin3,進入mysql安全模式,即當MySQL起來後,不用輸入密碼就能進入數據庫。
命 令為: mysqld-nt --skip-grant-tables 4,重新打開一個CMD命令 行窗口,輸入mysql -uroot -p, 使用空密碼的方式登錄MySQL(不用輸入密碼,直接按回車)
5,輸入以下命令開始修改root用戶的密碼(注意:命令中MySQL.user中間有個“點”)
mysql> update MySQL.user set password=PASSWord('新密碼') where User='root'; 6,刷新權限表
MySQL> flush privileges;
7,退出
mysql> quit 這樣MYSQL超級管理員賬號 ROOT已經重新設置好了,接下來 在任務管理器裡結束掉 mysql-nt.exe 這個進程,重新啟動MYSQL即可!(也可以直接重新啟動服務器) MYSQL重新啟動 後,就可以用新設置的ROOT密碼登陸MySQL了!
以下為成功版
---------------------------------------- -----------------------------------------------------
打開命令行窗口,停止mysql服務: Net stop MySQL
啟動mysql,一般到mysql的安裝路徑,找到 MySQLd-nt.exe
執行:MySQLd-nt --skip-grant-tables 當前窗口將會停止。
(如果沒有找到mysqld-nt.exe;則執行:MySQLd --skip-grant-tables)
另外打開一個命令行窗口,執行mysql 如果提示沒有這個命令,先進入MYSQL的安裝位置下BIN目錄再運行mysql>use MySQL
>update user set password=password("new_passWord") where user="root";
>flush privileges;
>exit
對了,差點忘了。最後還要用任務管理器殺掉一個進程MySQLd.exe
然後再重啟mysql服務,不殺掉進程MySQL是重啟不了的