3 回答

TA貢獻1817條經驗 獲得超6個贊
對于這種錯誤; 您只需要以管理員身份為root用戶設置新密碼。請按照以下步驟操作:
[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
停止運行mysql的服務/守護進程
[root ~]# service mysql stop
mysql stop/waiting
使用以下選項啟動沒有任何權限的mysql; 此選項用于啟動,不使用MySQL的權限系統。
[root ~]# mysqld_safe --skip-grant-tables &
此時,終端似乎停了下來。那就是,并使用新的終端進行后續步驟。
進入mysql命令提示符
[root ~]# mysql -u root
mysql>
修復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)
退出shell并以正常模式重啟mysql。
mysql> quit;
[root ~]# kill -KILL [PID of mysqld_safe]
[root ~]# kill -KILL [PID of mysqld]
[root ~]# service mysql start
現在,您可以使用您設置的密碼以root用戶身份成功登錄
[root ~]# mysql -u root -pYourNewPassword
mysql>

TA貢獻2080條經驗 獲得超4個贊
1)您可以通過調用MySQL控制臺來設置root密碼。它位于
C:\wamp\bin\mysql\mysql5.1.53\bin
默認情況下。
轉到目錄并鍵入MySQL。然后設置密碼如下..
> SET PASSWORD FOR root@localhost = PASSWORD('new-password');
2)您可以通過編輯為root用戶配置wamp的phpmyadmin應用程序
C:\wamp\apps\phpmyadmin3.3.9\config.inc.php
注意: -如果您正在使用xampp,則文件將位于
C:\xampp\phpMyadmin\config.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)”的錯誤
如果您私下更改了“root @ localhost”的密碼,那么您必須做兩件事來解決錯誤“訪問權限用戶'root @ localhost'”:
如果['password']有一個空引號,如'',那么將你的密碼放在引號之間。
將(使用密碼:NO)更改為(使用密碼:YES)
這將解決錯誤。
注意:phpmyadmin是一個單獨的工具,附帶wamp。它只是為MySQL提供了一個接口。如果你更改我的sql root的密碼,那么你應該更改phpmyadmin配置。通常phpmyadmin配置為root用戶。
添加回答
舉報