問題描述

我是新來的 mysql,我試圖執行 Wordpress inmy Windows 桌面,它需要 Mysql 。

我用微軟提供的 Web Platform Installer 安裝所有內容。我從來沒有為 mysql 設定 root 密碼,在最後一步安裝 wordpressit askfor root 密碼的 mysql 。

root 的預設密碼是什麼 (如果有的話) 以及如何更改?

我試試

mysql -u root password '123'

但它顯示我

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

之後我試過

mysql -u root -p

但它要求一個我沒有的密碼

先謝謝你


更新:Bozho 說我做了如下的工作

 1 - I stoped MySql Service from Windows services
 2 - Open CMD
 3 - change location to cd c:program filesmysqlbin
 4 - write this command

 mysqld --defaults-file="C:\program files\mysql\mysql server 5.1\my.ini" --init-files=C:\root.txt

 5 - Command run with a warning about characterset which I mentioned below
 6 - I start MySql Service from windows services
 7 - in command line I write

mysql -u root -p
EnterPassword: 123  // 123 was the password

8 - the commandline shows following bug

Access denied for user 'root@localhost' (using password:**YES**)

我在等待你的迴音

最佳解決方案

你可以 reset your root password 。請記住,不要使用 root,沒有密碼。

次佳解決方案

對於這種錯誤; 您只需要為 root 使用者設定新密碼作為管理員。請按照以下步驟操作:

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  1. 停止執行 mysql 的服務/守護程式

    [root ~]# service mysql stop
    mysql stop/waiting
    
  2. 啟動 mysql 沒有任何許可權使用以下選項; 此選項用於啟動,不使用 MySQL 的許可權系統。

    [root ~]# mysqld_safe --skip-grant-tables &
    

在這一刻,終端似乎停了下來。讓它成為,並使用新的終端進行下一步。

  1. 輸入 mysql 命令提示符

    [root ~]# mysql -u root
    mysql>
    
  2. 修復 root 使用者的許可權設定;

    mysql> use mysql;
    Database changed
    mysql> select * from  user;
    Empty set (0.00 sec)
    mysql> truncate table user;
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option;
    Query OK, 0 rows affected (0.01 sec)
    

*如果你不想要任何密碼,或者是一個空的密碼

    mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;
    Query OK, 0 rows affected (0.01 sec)*
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

確認結果:

    mysql> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
  1. 退出 shell 並在正常模式下重啟 mysql 。

    mysql> quit;
    [root ~]# kill -KILL [PID of mysqld_safe]
    [root ~]# kill -KILL [PID of mysqld]
    [root ~]# service mysql start
    
  2. 現在,您可以使用您設定的密碼成功登入為 root 使用者

     [root ~]# mysql -u root -pYourNewPassword
     mysql>
    

第三種解決方案

1) 您可以透過呼叫 MySQL 控制檯來設定 root 密碼。它位於

C:wampbinmysqlmysql5.1.53bin 預設。

訪問目錄並鍵入 MySQL 。然後設定密碼如下。

    > SET PASSWORD FOR root@localhost = PASSWORD('new-password');

2) 您可以透過編輯為 root 使用者配置 wamp 的 phpmyadmin 應用程式

C:wampappsphpmyadmin3.3.9config.inc.php

看起來像這樣:

        $cfg['Servers'][$i]['verbose'] = 'localhost';
        $cfg['Servers'][$i]['host'] = 'localhost';
        $cfg['Servers'][$i]['port'] = '';
        $cfg['Servers'][$i]['socket'] = '';
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
        $cfg['Servers'][$i]['extension'] = 'mysqli';
        $cfg['Servers'][$i]['auth_type'] = 'config';
        $cfg['Servers'][$i]['user'] = 'root';
        $cfg['Servers'][$i]['password'] = 'YOURPASSWORD';
        $cfg['Servers'][$i]['AllowNoPassword'] = false;

當您將 $cfg['Servers'][$i]['AllowNoPassword']設定為 false 時,「使用者’root@localhost’ 訪問被拒絕 (使用密碼:NO)」 的錯誤將被解決)

注意:phpmyadmin 是一個單獨的工具,帶有 wamp 。它只提供一個到 MySQL 的介面。如果您更改了我的 sql root 密碼,那麼您應該更改 phpmyadmin 配置。通常 phpmyadmin 配置為 root 使用者。

第四種方案

我在 OS X El 隊長遇到了同樣的錯誤。 Mysql 版本 5.7 。執行這些步驟後,我可以用 root 連線到 mysql 。

停止 mysql 伺服器

sudo mysql.server stop

以安全模式啟動 mysql

sudo mysqld_safe --skip-grant-tables

使用 mysqld,將資料庫更改為 mysql 並更新使用者’root’ 的詳細資訊。

show databases;
use mysql;
UPDATE mysql.user
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
    WHERE User = 'root' AND Host = 'localhost';
exit;

之後殺死’mysqld_safe’ 程式並正常啟動 mysql 。您應該可以使用 root 和新密碼登入到 mysql 。 SQL docs for more details

第五種方案

確保 MySQL 服務正在您的計算機上執行,​​然後按照 MySQL 的說明進行初始設定 root(搜尋’windows’,並將帶您到設定 root 的步驟):

http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。