gpt4 book ai didi

windows下重置mysql的root密码方法介绍

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章windows下重置mysql的root密码方法介绍由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常.

使用 root 账号登录 mysql 数据库,结果提示密码不匹配。我突然意识到,服务器可能遭受到 SQL注入 攻击了…… 。

至于事故发生的原因和之后所做的补救措施,以后有机会我会聊一聊的。这里我主要讲一下 mysql 用户密码的重置步骤.

重置 root 密码 在忘记 root 密码的情况下,可以进入 mysql 的安全模式,重置 root 密码.

1. 停止 MySQL 服务 。

打开命令提示符窗口,输入 net stop mysql 关闭 MySQL 服务.

?
1
2
3
C:\Users\Administrator>net stop mysql57
MySQL57 服务正在停止..
MySQL57 服务已成功停止。

↑ 服务名称不一定都是 mysql,比如我的就是 mysql57,57代表版本号为5.7 。

当然你也可以通过计算机管理面板关闭 MySQL 服务.

windows下重置mysql的root密码方法介绍

2. 切换到 bin 目录 。

在命令提示符窗口中,通过 cd 命令切换到 mysql 安装目录下的 bin 目录.

?
1
2
3
C:\Users\Administrator>
cd C:\Program Files\MySQL\MySQL Server 5.7\bin
C:\Program Files\MySQL\MySQL Server 5.7\bin>

↑ 默认安装目录为 C:\Program Files\MySQL\MySQL Server 。

3. 进入安全模式 。

在 bin 目录下输入 mysqld --skip-grant-tables ,跳过权限检查启动 mysql.

如果你配置了 my.ini 文件,则需要将其引入: mysqld --defaults-file="../my.ini" --skip-grant-tables 。

?
1
2
3
4
[mysqld]
 
basedir = "C:\ProgramData\MySQL\MySQL Server 5.7"
datadir = "C:\ProgramData\MySQL\MySQL Server 5.7\Data"

↑ 我在 my.ini 文件中指定了数据的存放路径,如果不引入配置文件,则会提示 No such file or directory 错误.

4. 重置账户密码 。

打开另一个命令提示符窗口(别关闭安全模式窗口),同样切换到 mysql \ bin 目录,输入 mysql 跳过权限验证连接数据库.

?
1
2
3
4
5
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql
Server version: 5.7.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

↑ 也可以指定连接参数 mysql -u <用户名> -p <密码> -h <连接地址> -P <端口号> -D <数据库> 。

执行 update mysql.user set authentication_string="" where user="root"; 重置 root 用户的密码(5.7 之前为 password 字段).

?
1
2
3
4
5
6
7
8
9
10
11
12
mysql> update mysql.user set authentication_string="" where user="root";
Query OK, 1 row affected (0.00 sec)
 
mysql> select user,authentication_string from mysql.user\G
*************************** 1. row ***************************
          user: root
authentication_string:
*************************** 2. row ***************************
          user: mysql.sys
authentication_string: *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
 
2 rows in set (0.00 sec)

↑ root 用户的 authentication_string 字段已经被清空了 。

5. 刷新权限表 。

执行 flush privileges; 命令刷新权限表,密码已经重置完成,输入 quit 退出.

?
1
2
3
4
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql> quit
Bye

关闭所有命令提示符窗口,通过任务管理器结束 mysqld.exe 进程。重启 MySQL 服务,之后就可以直接登录 root 账号了.

修改 root 密码 。

出于安全考虑,root 密码不宜为空,所以需要在密码重置之后,再重新设置一个密码.

方法一:SET PASSWORD 。

SET PASSWORD FOR "username"=PASSWORD("new password"),

以 root 身份登录 mysql,再使用 set password 命令修改密码:

?
1
2
mysql> set password for root@localhost = password("pswd");
Query OK, 0 rows affected, 1 warning (0.00 sec)

方法二:mysqladmin 。

mysqladmin -u "username" -p password "new password" 。

执行该命名之后会提示输入原密码,输入正确后即可修改.

?
1
2
3
4
5
C:\Program Files\MySQL\MySQL Server 5.7\bin> mysqladmin -u root -p password pswd
Enter password: ****
 
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

方法三:UPDATE TABLE 。

UPDATE mysql.user SET authentication_string=PASSWORD("new password") WHERE user="username",

在重置 root 密码的同时,也可以设置默认密码。不过密码不能为明文,必须使用 password() 函数加密.

?
1
2
3
4
5
mysql> update mysql.user set authentication_string=password("pswd") where user="root";
Query OK, 1 row affected, 1 warning (0.00 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

总结 。

以上就是本文关于windows下重置mysql的root密码方法介绍的全部内容,希望对大家有所帮助.

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持! 。

原文链接:http://www.cnblogs.com/woider/p/6725867.html 。

最后此篇关于windows下重置mysql的root密码方法介绍的文章就讲到这里了,如果你想了解更多关于windows下重置mysql的root密码方法介绍的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

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