2010-06-13 58 views
158

我想刪除localhost中root用戶的密碼。我怎樣才能做到這一點?我錯誤地設置了root用戶的密碼。這就是爲什麼phpMyAdmin是給了一個錯誤:如何刪除MySQL root密碼

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

+4

爲什麼不配置您的phpMyAdmin使用root密碼呢? – sisve 2010-06-13 11:27:20

+1

MySQL文檔包含有關[如何重置root密碼](http://dev.mysql.com/doc/refman/5.5/en/resetting-permissions.html)的說明,以備忘記。 – 2010-06-13 12:03:49

+0

請注意,從MySQL 5.7開始,默認情況下會設置一個隨機root密碼,如果不先禁用「validate_password」插件,則無法刪除它。查看我的文章[刪除MySQL root密碼](https://medium.com/@benmorel/remove-the-mysql-root-password-ba3fcbe29870)或[this gist](https://gist.github.com/ BenMorel/3aa86d9db6c6751b6ab77b3a939938fc)。 – Benjamin 2017-09-07 12:15:59

回答

302

您需要爲[email protected]設置的密碼爲空。有兩種方法:

  1. MySQL的SET PASSWORD命令:

    SET PASSWORD FOR [email protected]=PASSWORD(''); 
    
  2. 使用命令行mysqladmin工具:

    mysqladmin -u root -pType_in_your_current_password_here password '' 
    
+0

如何重置密碼數據庫的密碼? – nectar 2010-06-13 13:18:18

+4

mysqladmin -u root -pcurrent_password password''是另一種方法。 – 2013-03-21 23:31:52

+3

我需要執行'mysqladmin -u root -p password'''然後輸入密碼。 – crizCraig 2014-04-13 21:30:35

20

我也經歷過這個問題,

首先,我試圖用我的命令根口令設置爲空:

SET PASSWORD FOR [email protected]=PASSWORD(''); 

不過不要高興,PHPMYADMIN使用127.0.0.1不是localhost,我知道你會說都是相同的,但認爲並非如此,使用下面提到的命令,你就完成了。

SET PASSWORD FOR [email protected]=PASSWORD(''); 

只需用127.0.0.1替換localhost即可。

+3

root @ localhost = PASSWORD('');爲我工作 – workdreamer 2013-02-13 10:13:21