GENERIC MYSQL信息
首先,閱讀MySQL手冊:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
的步驟將告訴你如何關閉該服務,並與一個壓倒一切的命令來啓動它不需要密碼,那麼你重置密碼。從手冊:
停止MySQL服務器,然後使用--skip-grant-tables
選項重新啓動它。這使任何人都可以在沒有密碼和所有權限的情況下進行連接,並禁用帳戶管理語句,如ALTER USER
和SET PASSWORD
。由於這是不安全的,因此您可能希望將--skip-grant-tables
與--skip-networking
一起使用,以防止遠程客戶端連接。
使用mysql客戶端連接到MySQL服務器;
shell> mysql
在mysql客戶端,告訴服務器重載授權表,使帳戶管理報表工作:
mysql> FLUSH PRIVILEGES;
因爲服務器開始
--skip-grant-tables
不需要密碼
然後更改'root'@'localhost'
帳戶密碼。將密碼替換爲您要使用的密碼。要更改具有不同主機名部分的root帳戶的密碼,請修改說明以使用該主機名。
的MySQL 5.7.6及更高版本:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
的MySQL 5.7.5及更早版本:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
用戶表
或者直接:
UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';
XAMPP SPECIFIC
停止MySQL服務。打開一個命令窗口。更改爲XAMPP MySQL目錄:
> cd \xampp\mysql\bin\
沒有安全運行服務(注意,您正在運行的mysqld,而不是MySQL的):
> mysqld.exe --skip-grant-tables
MySQL的服務將在此窗口中運行,打開另一個命令窗口並切換到XAMPP MySQL目錄:
> cd \xampp\mysql\bin\
運行MySQL客戶端:
> mysql
更新密碼:
mysql> UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';
退出MySQL的:
mysql> \q
使用任務管理器取消mysqld.exe仍在運行。重新啓動mysql服務。
你有沒有試過** mysql -u root -p **在shell中 –
可能重複[MySQL錯誤1045(28000):訪問拒絕用戶'bill'@'localhost'(使用password:YES)]( http://stackoverflow.com/questions/10299148/mysql-error-1045-28000-access-denied-for-user-billlocalhost-using-passw) – rkosegi
好吧,你的密碼是錯誤的。就那麼簡單。如何解決它:使用新的,正確的。 –