за този вид грешка; просто трябва да зададете нова парола на 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 [email protected] identified by 'YourNewPassword' with grant option; Query OK, 0 rows affected (0.01 sec)
*ако не искате никаква парола или по-скоро празна парола
mysql> grant all privileges on *.* to [email protected] 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)
-
Излезте от обвивката и рестартирайте 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>