我在 redhat linux 上安装了 MySQL server 5。我无法以 root 身份登录,因此无法更改 root 密码。
mysql -u root -p
Enter password: <blank>
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
(using password: NO)
当我尝试这样设置时:
mysqladmin -u root password 'newpass'
我得到一个错误:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost'
(using password: NO)'
好像设置了root密码。
我也尝试过使用(描述 here )重置密码
/sbin/service mysqld start --skip-grant-tables
然后制作:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpass')
-> WHERE User='root';
ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'
我什至卸载了 mysql-server(使用 yum)然后重新安装它,但这没有帮助。
如何强制重置根密码?
最佳答案
一种选择是将 UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
保存到文件中,然后手动启动 mysqld
使用 --init-file=FILENAME
。一旦服务器启动,它应该重置您的密码,然后您应该可以登录。之后,您应该关闭服务器并正常启动它。
关于mysql - 修改mysql root密码的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8789522/