我已经在redhat linux上安装了MySQL服务器5。我无法以超级用户身份登录,因此无法更改超级用户密码。
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),然后重新安装了它,但这并没有帮助。
如何强制重置root密码?
发布于 2012-01-18 17:47:22
我删除了MySQL安装并删除了数据文件,然后重新安装了它。
然后我就可以设置root密码了。一旦您将root密码设置为某个值。如果你不知道它,mysqladmin不会让你重置它。
要重置它,您必须对如何执行mysqld拥有所有权,并为其提供一个初始文件来更改根密码:https://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
发布于 2012-01-09 22:18:42
一种选择是将UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
保存到一个文件中,然后使用--init-file=FILENAME
手动启动mysqld
。一旦服务器启动,它应该重置您的密码,然后您就可以登录了。在此之后,您应该关闭服务器并正常启动。
发布于 2018-07-12 01:51:32
有点晚了,但我在安装树莓派时遇到了同样的问题,发现它需要升级。将sudo添加到密码更改的前面可以使其正常工作。
sudo mysqladmin -u root password 'newpass'
然后是提升的sql访问。
sudo mysql -u root -p
如果其中任何一个没有以sudo身份运行,它都将失败。
https://stackoverflow.com/questions/8789522
复制相似问题