【问题标题】:How to remove MySQL root password [closed]如何删除 MySQL 根密码 [关闭]
【发布时间】:2011-03-03 04:51:23
【问题描述】:

我想在 localhost 中删除用户 root 的密码。我怎样才能做到这一点?我错误地设置了root用户的密码。这就是 phpmyadmin 给出错误的原因:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

【问题讨论】:

  • 为什么不将您的 phpMyAdmin 配置为使用 root 密码呢?
  • MySQL 文档包含how to reset the root password 上的说明,以防您忘记了。
  • 请注意,从 MySQL 5.7 开始,默认设置了一个随机的 root 密码,如果不先禁用 validate_password 插件,您将无法删除它。直接看我的文章Removing the MySQL root passwordthis gist
  • 对于所有非root用户SET PASSWORD FOR root@`%`=PASSWORD('');,百分号必须用反引号括起来

标签: mysql mysql-error-1045


【解决方案1】:

您需要将root@localhost 的密码设置为空白。有两种方式:

  1. MySQL SET PASSWORD 命令:

    SET PASSWORD FOR root@localhost=PASSWORD(''); -- MySQL 5.x
    SET PASSWORD FOR root@localhost=''; -- MySQL 8.x
    
  2. 使用命令行mysqladmin 工具:

    mysqladmin -u root -pType_in_your_current_password_here password ''
    

【讨论】:

  • mysqladmin -u root -pcurrent_password password '' 是另一种方法。
  • 我需要做mysqladmin -u root -p password '' 然后输入密码。
  • @crizCraig 可能是因为您的密码不是CURRENTPASSWORD,密码参数(与其他参数不同)后面没有空格。如果您省略密码,它会提示您输入密码 (doc)
  • @mOna 试试这个方法: 1- 关闭 mysql(关闭服务或杀死它); 2- 创建一个包含SET PASSWORD FOR root@localhost=PASSWORD(''); 的文件,名为restore; 3-致电mysqld_safe --init-file=path/to/restore;最后登录并使用您喜欢的密码再次更改。
  • 答案中的命令已弃用。请改用以下内容。为 root@localhost='' 设置密码;
【解决方案2】:

我也遇到过这个问题,

首先我尝试使用命令将我的root密码设置为空白:

SET PASSWORD FOR root@localhost=PASSWORD('');

但不要高兴,PHPMYADMIN 使用 127.0.0.1 而不是 localhost,我知道你会说两者相同但事实并非如此,使用下面提到的命令就完成了。

SET PASSWORD FOR root@127.0.0.1=PASSWORD('');

只需将 localhost 替换为 127.0.0.1 即可。

【讨论】:

  • 为 root@localhost=PASSWORD('') 设置密码;为我工作
猜你喜欢
  • 2013-07-10
  • 2016-07-18
  • 2023-03-07
  • 1970-01-01
  • 2012-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
相关资源
最近更新 更多