所以我第一次安装了MySQL应用程序。首先我看到命令行客户端没有打开,所以我寻找解决方案。他们说我必须到bin目录手动运行。当我运行cmd mysql -uroot -p并运行它并输入密码后,它给我错误:* 错误1045(28000):访问拒绝用户'root'@'localhost'我尝试了stackoverflow上的每一个解决方案,包括禁用权限,手动运行我上面提到的,从服务启动服务。msc,运行它与密码和没有.它只是不想工作。*********
mysql -uroot -p
7vux5j2d1#
首先,请阅读mysql手册:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html这些步骤将向您展示如何关闭服务,并使用不需要密码的重写命令启动它,然后重置密码。来自手册:停止MySQL服务器,然后使用--skip-grant-tables选项重新启动它。这使任何人都可以在没有密码的情况下使用所有权限进行连接,并禁用帐户管理语句,如ALTER USER和SET PASSWORD。由于这是不安全的,您可能希望将--skip-grant-tables与--skip-networking结合使用,以防止远程客户端连接。使用mysql客户端连接到MySQL服务器;不需要密码,因为服务器是用--skip-grant-tables启动的:
--skip-grant-tables
ALTER USER
SET PASSWORD
--skip-networking
shell> mysql
在mysql客户端中,告诉服务器重新加载grant表,以便account-management语句工作:
mysql> FLUSH PRIVILEGES;
然后更改'root'@'localhost'帐户密码。将密码替换为您要使用的密码。要使用不同的主机名部分更改root帐户的密码,请修改说明以使用该主机名。MySQL 5.7.6及更高版本:
'root'@'localhost'
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';
停止MySQL服务。打开命令窗口。切换到XAMPP MySQL目录:
> cd \xampp\mysql\bin\
不带安全性地运行服务(注意你运行的是mysqld,而不是mysql):
> mysqld.exe --skip-grant-tables
MySQL服务将在此窗口中运行,因此打开另一个命令窗口并切换到XAMPP MySQL目录:
运行MySQL客户端:
> mysql
更新密码:
mysql> UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';
退出MySQL:
mysql> \q
使用任务管理器取消mysqld。正在运行的exe。重新启动mysql服务。
7cwmlq892#
我自己得到了答案。看起来,如果你得到这个错误,这意味着你需要重置你的密码。你可以学习how to do that in MySQL from this link。别忘了换5。7版本与您当前安装的版本在使用命令(我的是8.在那之后,一切对我来说都很好。
wh6knrhe3#
我只是遇到了同样的问题,我通过运行'mysql -u root -p -f'来修复它然后它提示我输入密码。不知道这是不是强迫,但它对我起了作用。
3条答案
按热度按时间7vux5j2d1#
通用MYSQL信息
首先,请阅读mysql手册:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
这些步骤将向您展示如何关闭服务,并使用不需要密码的重写命令启动它,然后重置密码。来自手册:
停止MySQL服务器,然后使用
--skip-grant-tables
选项重新启动它。这使任何人都可以在没有密码的情况下使用所有权限进行连接,并禁用帐户管理语句,如ALTER USER
和SET PASSWORD
。由于这是不安全的,您可能希望将--skip-grant-tables
与--skip-networking
结合使用,以防止远程客户端连接。使用mysql客户端连接到MySQL服务器;不需要密码,因为服务器是用
--skip-grant-tables
启动的:在mysql客户端中,告诉服务器重新加载grant表,以便account-management语句工作:
然后更改
'root'@'localhost'
帐户密码。将密码替换为您要使用的密码。要使用不同的主机名部分更改root帐户的密码,请修改说明以使用该主机名。MySQL 5.7.6及更高版本:
MySQL 5.7.5及更早版本:
或者直接在用户表上:
XAMPP专用
停止MySQL服务。打开命令窗口。切换到XAMPP MySQL目录:
不带安全性地运行服务(注意你运行的是mysqld,而不是mysql):
MySQL服务将在此窗口中运行,因此打开另一个命令窗口并切换到XAMPP MySQL目录:
运行MySQL客户端:
更新密码:
退出MySQL:
使用任务管理器取消mysqld。正在运行的exe。重新启动mysql服务。
7cwmlq892#
我自己得到了答案。看起来,如果你得到这个错误,这意味着你需要重置你的密码。你可以学习how to do that in MySQL from this link。
别忘了换5。7版本与您当前安装的版本在使用命令(我的是8.在那之后,一切对我来说都很好。
wh6knrhe3#
我只是遇到了同样的问题,我通过运行'mysql -u root -p -f'来修复它
然后它提示我输入密码。不知道这是不是强迫,但它对我起了作用。