首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何更改mysql root密码

如何更改mysql root密码
EN

Stack Overflow用户
提问于 2012-01-09 21:58:19
回答 9查看 93.1K关注 0票数 27

我已经在redhat linux上安装了MySQL服务器5。我无法以超级用户身份登录,因此无法更改超级用户密码。

代码语言:javascript
复制
mysql -u root -p  
Enter password:  <blank>
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
(using password: NO)

当我尝试像这样设置一个时:

代码语言:javascript
复制
mysqladmin -u root password 'newpass'

我得到一个错误:

代码语言:javascript
复制
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' 
(using password: NO)'

就像设置了root密码一样。

我还尝试使用(描述的here)重置密码。

代码语言:javascript
复制
/sbin/service mysqld start --skip-grant-tables

然后制作:

代码语言:javascript
复制
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密码?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-01-18 17:47:22

我删除了MySQL安装并删除了数据文件,然后重新安装了它。

然后我就可以设置root密码了。一旦您将root密码设置为某个值。如果你不知道它,mysqladmin不会让你重置它。

要重置它,您必须对如何执行mysqld拥有所有权,并为其提供一个初始文件来更改根密码:https://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

票数 4
EN

Stack Overflow用户

发布于 2012-01-09 22:18:42

一种选择是将UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';保存到一个文件中,然后使用--init-file=FILENAME手动启动mysqld。一旦服务器启动,它应该重置您的密码,然后您就可以登录了。在此之后,您应该关闭服务器并正常启动。

票数 12
EN

Stack Overflow用户

发布于 2018-07-12 01:51:32

有点晚了,但我在安装树莓派时遇到了同样的问题,发现它需要升级。将sudo添加到密码更改的前面可以使其正常工作。

代码语言:javascript
复制
sudo mysqladmin -u root password 'newpass'

然后是提升的sql访问。

代码语言:javascript
复制
sudo mysql -u root -p  

如果其中任何一个没有以sudo身份运行,它都将失败。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8789522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档