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,就可以使用新密碼登錄了
二、修改方法二
1、編輯MySQL(和PHP搭配之最佳組合)配置文件:
Windows環境中:%MySQL(和PHP搭配之最佳組合)_installdir%my.ini //一般在MySQL(和PHP搭配之最佳組合)安裝目錄下有my.ini即MySQL(和PHP搭配之最佳組合)的配置文件。
Linux環境中:/etc/my.cnf
在[MySQL(和PHP搭配之最佳組合)d]配置段添加如下一行:
skip-grant-tables
保存退出編輯。
2、然後重啟MySQL(和PHP搭配之最佳組合)服務
Windows環境中:
net stop MySQL(和PHP搭配之最佳組合)
net start MySQL(和PHP搭配之最佳組合)
Linux環境中:
/etc/init.d/MySQL(和PHP搭配之最佳組合)d restart
3、設置新的ROOT密碼
然後再在命令行下執行:
MySQL(和PHP搭配之最佳組合) -uroot -p MySQL(和PHP搭配之最佳組合)
直接回車無需密碼即可進入數據庫教程了。
現在我們執行如下語句把root密碼更新為 7758521:
update user set password=PASSWord("7758521") where user='root';
quit 退出MySQL(和PHP搭配之最佳組合)。
4、還原配置文件並重啟服務
然後修改MySQL(和PHP搭配之最佳組合)配置文件把剛才添加的那一行刪除。
再次重起MySQL(和PHP搭配之最佳組合)服務,密碼修改完畢。
方法三
mysql> Insert INTO MySQL.user (Host,User,PassWord)
VALUES(’%’,’jeffrey’,PASSWord(’biscuit’));
MySQL> FLUSH PRIVILEGES
確切地說這是在增加一個用戶,用戶名為jeffrey,密碼為biscuit。 在《MySQL中文參考手冊》裡有這個例子,所以我也就寫出來了。
注意要使用PASSWord函數,然後還要使用FLUSH PRIVILEGES。
方法四
使用MySQLadmin,這是前面聲明的一個特例。
MySQLadmin -u root -p passWord mypasswd
輸入這個命令後,需要輸入root的原密碼,然後root的密碼將改為mypasswd。把命令裡的root改為你的用戶名,你就可以改你自己的密碼了。
當然如果你的MySQLadmin連接不上mySQL Server,或者你沒有辦法執行mysqladmin,那麼這種方法就是無效的,而且MySQLadmin無法把密碼清空。
下面的方法都在mysql提示符下使用,且必須有MySQL的root權限: