MySQL:更改root密码

3

我误输入了

<delete from mysql.user where password =''>

很遗憾,用户的密码是空的。

当我尝试使用mysqladmin时,我收到了一条消息,告诉我无法为该用户设置密码。

<root @ localhost>

有任何想法吗?

非常感谢。


如何重置根密码 - http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html - Devart
4个回答

1

如果您正在使用类Unix操作系统:

  1. 您需要终止mysql守护进程。
  2. 创建一个文本文件并写入以下内容:
UPDATE mysql.user SET Password=PASSWORD('YOUR_PASSWORD') WHERE User='root';

FLUSH PRIVILEGES;

  1. 打开控制台并输入“mysqld_safe --init-file=YOUR_FILE &”
  2. 重新启动服务器
  3. 现在您应该能够工作了。

ERROR 1054 (42S22): Unknown column 'password' in 'field list' - user3338098

0

停止mysqld并使用--skip-grant-tables选项重新启动它。 然后在MySQL shell中运行:

INSERT INTO user
VALUES('localhost','user',PASSWORD('newpass'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'','','','',0,0,0,0);

退出并以正常模式重新启动mysql。


当我尝试使用mysql shell时,仍然收到“access denied for user root @ localhost using password no”的消息。 - Naomi Hurley
如果您运行 mysqld --skip-grant-tables,它将不会要求您输入密码。只需使用 mysql 命令打开 shell 即可。 - Ali

0
运行此命令:
mysqladmin -u root -p'oldpassword' password newpass

我收到了错误消息:访问被拒绝,用户为'root' @ 'localhost' <using password no>。 - Naomi Hurley

0

如果您的root管理员没有密码,您可以直接连接而无需使用“-p”选项。 然后您可以在“mysql.user”表中修改密码。


用户'root' @ 'localhost'的访问被拒绝,<未使用密码>的错误信息。 - Naomi Hurley
没有意识到您在ManseUK编辑您的帖子之前删除了您的根帐户。你所有的用户都使用“”密码? :) 无论如何,Ali的答案应该解决问题(使用“--skip-grant-tables”选项重新启动守护进程)。 - Bacon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接