Windows下MySQL密码忘了怎么办?别慌,有办法!

忘记密码带来的困扰

在使用Windows系统上的MySQL数据库时,忘记密码是一件让人头疼的事。要是密码记不住了,就没办法正常登录数据库,影响到数据的管理、修改和查询等操作。对于开发者和数据库管理员来说,这可能会耽误项目进度;对于普通用户而言,也会阻碍数据的正常使用。不过别着急,下面就给大家详细介绍找回或重置MySQL密码的方法。

停止MySQL服务

windows mysql密码忘了怎么办

要重置MySQL密码,首先得停止正在运行的MySQL服务。具体操作是:按下Windows键 + R,在弹出的运行窗口中输入“services.msc”并回车,打开服务管理窗口。在服务列表里找到“MySQL”,右键点击它,然后选择“停止”选项。等服务停止后,才能进行后续的密码重置操作。

跳过权限验证启动MySQL

为了能在不输入密码的情况下登录MySQL,需要跳过权限验证来启动它。你可以先找到MySQL的安装目录,通常默认路径是“C:Program FilesMySQLMySQL Server X.X” (X.X 代表具体的版本号)。在这个目录下找到“my.ini”或者“my.cnf”配置文件,用记事本之类的文本编辑器打开它。在文件里找到“[mysqld]”这一行,然后在下面添加“skip-grant-tables”,添加好之后保存文件。接着,以管理员身份打开命令提示符,在命令提示符中输入以下命令来启动MySQL服务:

net start mysql

当看到服务成功启动的提示信息,就说明跳过权限验证启动成功了。

登录MySQL并重置密码

接下来,就可以在不输入密码的情况下登录MySQL了。在命令提示符里输入下面的命令:

mysql -u root

登录成功之后,就要重置密码了。不同版本的MySQL,重置密码的语句有所不同。

MySQL 5.7及以下版本

在命令行中输入下面的语句,这里假设新密码是“newpassword”:

UPDATE mysql.user SET authentication_string=PASSWORD('newpassword') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

MySQL 8.0及以上版本

对于MySQL 8.0及以上版本,需要使用下面的语句来重置密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
FLUSH PRIVILEGES;

执行完这些语句之后,密码就重置成功了。

恢复正常配置并重启服务

密码重置好之后,要把之前在配置文件里添加的“skip-grant-tables”这一行删掉,恢复配置文件的原状。保存修改后的配置文件,然后再次以管理员身份打开命令提示符,先停止MySQL服务:

net stop mysql

再重新启动MySQL服务:

net start mysql

验证新密码

最后,验证一下新密码是否能正常使用。在命令提示符中输入以下命令,使用新密码登录MySQL:

mysql -u root -p

然后输入新设置的密码,如果能成功登录,就说明密码重置成功啦。

在Windows系统上忘记MySQL密码不用怕,按照上面这些步骤操作,就能轻松重置密码,重新正常使用MySQL数据库。不过平时还是要妥善保管好密码,或者使用一些密码管理工具来记录,避免再次出现忘记密码的情况。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。