我正在使用带有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
所以我更改了管理员的密码现在还可以,对不起。谢谢大家。
答案 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