首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在mysql中为root@localhost设置密码

问无法在mysql中为root@localhost设置密码
EN

Stack Overflow用户
提问于 2014-05-19 13:51:03
回答 3查看 2.3K关注 0票数 3

我尝试过从谷歌获得的各种选项,但无法为root设置密码。我可以在没有任何密码的情况下登录,但是Java驱动程序需要一个密码,所以我必须设置它。

在最后一次尝试中,我尝试在MySQL控制台中执行以下命令:

代码语言:javascript
复制
SET PASSWORD FOR root@localhost=PASSWORD('abc123');

但我犯了以下错误:

代码语言:javascript
复制
ERROR 1133 <42000>: Can't find any matching row in the user table
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-19 14:22:49

在终端中输入以下行。

停止MySQL服务器。

sudo /etc/init.d/mysql停止

启动mysqld配置。(在安全模式下)

数独mysqld_safe --跳过-授予-表&

以root用户身份登录到MySQL。

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

用您的新密码替换YOURNEWPASSWORD!

代码语言:javascript
复制
UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root'; 
FLUSH PRIVILEGES; 
exit;

sudo /etc/init.d/mysql start

参考资料:

center/article/mysql-resetting-a-lost-mysql-root-password https://help.ubuntu.com/community/MysqlPasswordReset

票数 2
EN

Stack Overflow用户

发布于 2014-05-19 13:55:49

可能是用户root for localhost不存在。添加此帐户可以通过以下方式完成:

代码语言:javascript
复制
CREATE USER 'root'@'localhost' IDENTIFIED BY 'abc123';
票数 0
EN

Stack Overflow用户

发布于 2014-05-19 13:59:42

在MySQL中,每个用户都由用户名和主机唯一标识,这意味着root@localhost与root@127.0.0.1或root@%不是同一个用户(例如)。这可能是因为您没有要设置密码的root@localhost用户。

重复检查mysql.user表中实际有哪些用户:

代码语言:javascript
复制
SELECT * FROM mysql.user WHERE user = 'root';

如果要创建缺少的用户,请使用以下语句:

代码语言:javascript
复制
CREATE USER root@localhost IDENTIFIED BY 'abc123';
GRANT ALL PRIVILEGES ON *.* TO root@localhost;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23739603

复制
相关文章

相似问题

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