2012-03-06 77 views
3

我錯誤地MySQL的:改變root密碼

<delete from mysql.user where password =''> 

鍵不幸的是,用戶的密碼是 ''。

當我嘗試使用mysqladmin我得到消息,我不能

<root @ localhost> 

任何想法設置密碼???

非常感謝

+0

如何重置根密碼 - http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html – Devart 2012-03-06 13:08:07

回答

0

運行以下命令:

mysqladmin -u root -p'oldpassword' password newpass 
+0

我得到錯誤消息訪問被拒絕用戶'root'@'localhost' <使用密碼否> – 2012-03-06 13:06:57

0

如果有你的根管理員可以只連接不帶「-p」選項沒有密碼。 然後你就可以。如果你使用的是類Unix的操作系統修改表「mysql.user」

+0

錯誤信息訪問欺騙用戶'root'@'localhost'<使用密碼否> – 2012-03-06 13:07:42

+0

在ManseUK編輯您的帖子之前沒有得到您刪除了您的root帳戶的事實。所有你的用戶有密碼? :)無論如何,阿里的答案應該做的(使用'--skip-grant-tables'選項重新啓動守護進程) – Bacon 2012-03-06 13:16:12

1

密碼:

  1. 你必須殺死MySQL守護進程。
  2. 創建一個文本文件,並寫入:
UPDATE mysql.user SET Password=PASSWORD('YOUR_PASSWORD') WHERE User='root'; 

FLUSH PRIVILEGES;

  1. 打開控制檯,然後輸入 「mysqld_safe的--init文件= YOUR_FILE &」
  2. 重新啓動服務器
  3. 現在,你應該能夠工作。
+0

'錯誤1054(42S22):'字段列表'中的未知列'password' – user3338098 2015-11-28 00:20:35

0

停止mysqld並與--skip-grant-tables選項重新啓動它。 然後在mysql的shell中運行:

INSERT INTO user 
VALUES('localhost','user',PASSWORD('newpass'), 
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 
'','','','',0,0,0,0); 

註銷,並在正常模式下重啓MySQL。

+0

當我嘗試要使用mysql shell,仍然可以使用密碼no來拒絕用戶root @ localhost的消息訪問 – 2012-03-06 14:35:14

+0

如果您運行'mysqld --skip-grant-tables',它不會要求您輸入密碼。用'mysql'命令打開shell。 – Ali 2012-03-06 14:37:46