无法以root身份重置mysql密码

时间:2012-12-17 14:59:47

标签: mysql passwords

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

/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 official site,但无论如何都没有。有什么建议吗?

更新

我的主要用户是admin而非root所以我更改了管理员的密码现在还可以,对不起。谢谢大家。

4 个答案:

答案 0 :(得分:2)

仔细查看您的错误消息:

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

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

答案 1 :(得分: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');

答案 2 :(得分:0)

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

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

答案 3 :(得分:-1)

重置密码后尝试刷新privalages:

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

如果不起作用,请按以下步骤操作:How to Reset the Root Password