3 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
對于這種錯(cuò)誤; 您只需要以管理員身份為root用戶設(shè)置新密碼。請按照以下步驟操作:
[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
停止運(yùn)行mysql的服務(wù)/守護(hù)進(jìn)程
[root ~]# service mysql stop
mysql stop/waiting
使用以下選項(xiàng)啟動沒有任何權(quán)限的mysql; 此選項(xiàng)用于啟動,不使用MySQL的權(quán)限系統(tǒng)。
[root ~]# mysqld_safe --skip-grant-tables &
此時(shí),終端似乎停了下來。那就是,并使用新的終端進(jìn)行后續(xù)步驟。
進(jìn)入mysql命令提示符
[root ~]# mysql -u root
mysql>
修復(fù)root用戶的權(quán)限設(shè)置;
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)
確認(rèn)結(jié)果:
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
現(xiàn)在,您可以使用您設(shè)置的密碼以root用戶身份成功登錄
[root ~]# mysql -u root -pYourNewPassword
mysql>

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
1)您可以通過調(diào)用MySQL控制臺來設(shè)置root密碼。它位于
C:\wamp\bin\mysql\mysql5.1.53\bin
默認(rèn)情況下。
轉(zhuǎn)到目錄并鍵入MySQL。然后設(shè)置密碼如下..
> SET PASSWORD FOR root@localhost = PASSWORD('new-password');
2)您可以通過編輯為root用戶配置wamp的phpmyadmin應(yīng)用程序
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;
設(shè)置$cfg['Servers'][$i]['AllowNoPassword']
為 false時(shí),將解決錯(cuò)誤“拒絕用戶'root @ localhost'(使用密碼:NO)”的錯(cuò)誤
如果您私下更改了“root @ localhost”的密碼,那么您必須做兩件事來解決錯(cuò)誤“訪問權(quán)限用戶'root @ localhost'”:
如果['password']有一個(gè)空引號,如'',那么將你的密碼放在引號之間。
將(使用密碼:NO)更改為(使用密碼:YES)
這將解決錯(cuò)誤。
注意:phpmyadmin是一個(gè)單獨(dú)的工具,附帶wamp。它只是為MySQL提供了一個(gè)接口。如果你更改我的sql root的密碼,那么你應(yīng)該更改phpmyadmin配置。通常phpmyadmin配置為root用戶。
添加回答
舉報(bào)