gpt4 book ai didi

mysql - 如何恢复/更改 MySQL 密码

转载 作者:行者123 更新时间:2023-11-29 07:18:30 27 4
gpt4 key购买 nike

昨天一切正常。今天,当我启动 mysql 时,它开始给我以下错误消息

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我不知道它何时以及如何设置密码。

现在我正在尝试设置密码,但它没有更新它。

我正在使用以下步骤来恢复密码。

  1. 停止Mysql服务
  2. 在cmd中写下:

C:\Program Files\MySQL\MySQL Server 5.5>mysqld.exe --defaults-file="my.ini" --init-file="d:\mysql-init.txt" --console

它开始向我显示进度,但在收到此消息后停止响应

160504 18:01:54 [Note] Server socket created on IP: '0.0.0.0'.
160504 18:01:54 [Note] Event Scheduler: Loaded 0 events
160504 18:01:54 [Note] mysqld.exe: ready for connections.
Version: '5.5.38' socket: '' port: 3306 MySQL Community Server (GPL)

我等了 10 多分钟,但此后没有显示任何进展..

请指导我如何解决这个问题。

谢谢

最佳答案

停止mysql服务

编辑my.ini文件或my.cnf文件

在ini文件中找到[mysqld]部分,并将此行直接添加到[mysqld]部分之后

skip-grant-tables

重新启动mysql服务。

打开MySQL控制台

现在我们要重置root用户的密码,当然这可以用于重置任何用户的密码。

在mysql>命令提示符下输入以下2条命令,每条命令在行尾加一个分号,每行后按ENTER键向mysql发出命令。

MYSQL 5.7 版本之前

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;

在 MYSQL 5.7 版本之后,列名称已更改

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root';
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

请注意,更新可能会报告它已更新了不止一行,因为实际上有 3 个用户帐户的用户 ID 为“root”,每个帐户都有不同的域,即 127.0.0.1、localhost 和::1

现在在 mysql 命令提示符处输入 quit 退出 mysql。

停止mysql服务

编辑 my.ini 文件或 my.cnf 文件

在 ini 文件中找到 {mysqld] 部分,并删除我们之前添加的 skip-grant-tables 参数。

不要将此参数留在 ini 文件中,这是一个巨大的安全漏洞。

重新启动mysql服务。

您现在应该能够使用用户 ID“root”和您刚刚为该用户设置的新密码登录 phpmyadmin。

关于mysql - 如何恢复/更改 MySQL 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37028695/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com