当前位置:  开发笔记 > 编程语言 > 正文

MySQL错误:#1045 - 用户'root'@'localhost'拒绝访问(使用密码:YES)

如何解决《MySQL错误:#1045-用户'root'@'localhost'拒绝访问(使用密码:YES)》经验,为你挑选了1个好方法。

我已经尝试了我找到的每个修复程序,但我无法更改我的root MySQL密码.在shell,如果我输入mysql -u root,我得到

用户'root'@'localhost'拒绝访问(使用密码:否)

当我转到PHP MyAdmin时,我得到了这个:

#1045 - 用户'root'@'localhost'拒绝访问(使用密码:YES)

这一切都始于我被迫输入MySQL的新密码.我不知道如何解决这个问题,我很绝望.

谢谢.



1> Steve Johnso..:
GENERIC MYSQL信息

首先,阅读mysql手册:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html

这些步骤将向您展示如何关闭服务并使用不需要密码的覆盖命令启动它,然后重置密码.从手册:

停止MySQL服务器,然后使用该--skip-grant-tables选项重新启动它.这使得任何人都可以在没有密码和所有权限的情况下进行连接,并禁用帐户管理语句,例如ALTER USERSET PASSWORD.因为这是不安全的,您可能希望--skip-grant-tables--skip-networking防止远程客户端连接一起使用.

使用mysql客户端连接MySQL服务器; 无需密码,因为服务器启动时--skip-grant-tables:

shell> mysql

在mysql客户端中,告诉服务器重新加载授权表,以便帐户管理语句工作:

mysql> FLUSH PRIVILEGES;

然后更改'root'@'localhost'帐户密码.将密码替换为您要使用的密码.要更改具有不同主机名部分的root帐户的密码,请修改使用该主机名的说明.

MySQL 5.7.6及更高版本:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 5.7.5及更早版本:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

或直接在用户表上:

UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';

XAMPP SPECIFIC

停止MySQL服务.打开命令窗口.切换到XAMPP MySQL目录:

> cd \xampp\mysql\bin\

没有安全性运行服务(注意你运行的是mysqld,而不是mysql):

> mysqld.exe --skip-grant-tables

MySQL服务将在此窗口中运行,因此打开另一个命令窗口并切换到XAMPP MySQL目录:

> cd \xampp\mysql\bin\

运行MySQL客户端:

> mysql

更新密码:

mysql> UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';

退出MySQL:

mysql> \q

使用任务管理器取消仍在运行的mysqld.exe.重启mysql服务.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有