mysql 错误1045(28000):用户“root”@“localhost”的访问被拒绝

xqkwcwgp  于 2023-04-29  发布在  Mysql
关注(0)|答案(3)|浏览(157)

所以我第一次安装了MySQL应用程序。首先我看到命令行客户端没有打开,所以我寻找解决方案。他们说我必须到bin目录手动运行。当我运行cmd mysql -uroot -p并运行它并输入密码后,它给我错误:* 错误1045(28000):访问拒绝用户'root'@'localhost'我尝试了stackoverflow上的每一个解决方案,包括禁用权限,手动运行我上面提到的,从服务启动服务。msc,运行它与密码和没有.它只是不想工作。*********

7vux5j2d

7vux5j2d1#

通用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客户端中,告诉服务器重新加载grant表,以便account-management语句工作:

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专用

停止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服务。

7cwmlq89

7cwmlq892#

我自己得到了答案。看起来,如果你得到这个错误,这意味着你需要重置你的密码。你可以学习how to do that in MySQL from this link
别忘了换5。7版本与您当前安装的版本在使用命令(我的是8.在那之后,一切对我来说都很好。

wh6knrhe

wh6knrhe3#

我只是遇到了同样的问题,我通过运行'mysql -u root -p -f'来修复它
然后它提示我输入密码。不知道这是不是强迫,但它对我起了作用。

相关问题