1

我正在使用带有 mysql 5 版本的 CentOs,忘记了我的密码,我无法重置它,我所做的是

/etc/init.d/mysqld stop

mysqld_safe --skip-grant-tables &
mysql -u root

mysql>  update mysql.user set password=PASSWORD("pass") where User='root';

收到这条消息

Query OK, 0 rows affected (0.00 sec)
Rows matched: 0  Changed: 0  Warnings: 0

mysql> flush privileges; exit;
Query OK, 0 rows affected (0.00 sec)

停止并分层mysql,但无论如何

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

我已经尝试过这个解决方案mysql 官方网站,无论如何都无法正常工作。有什么建议么?

更新

我的主要用户admin不是root所以我更改了管理员密码现在一切正常,对此感到抱歉。感谢大家。

4

4 回答 4

2

仔细查看您的错误消息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
                                                               ^^^^^^^^^^^^^^^^^^

您可能设置了新密码,但没有使用它进行连接。

于 2012-12-17T15:10:29.853 回答
1

这对我有用

   UPDATE mysql.user SET Password=PASSWORD('foobar') WHERE User='tom' AND Host='localhost';

这对我不起作用

   SET PASSWORD FOR 'user-name-here'@'hostname-name-here' = PASSWORD('new-password-here');
于 2014-09-26T02:05:43.887 回答
0
Access denied for user 'root'@'localhost'  (using password: NO)

确保尝试登录的内容肯定是发送密码

于 2012-12-17T15:09:40.937 回答
-1

Try to flush privalages after resetting the password:

    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;

If that doesn't work follow these steps: How to Reset the Root Password

于 2012-12-17T15:05:58.680 回答