浅析MySQL 8忘记密码处理方式
对MySQL有研究的读者,可能会发现MySQL更新很快,在安装方式上,MySQL提供了两种经典安装方式:解压式和一键式,虽然是两种安装方式,但我更提倡选择解压式安装,不仅快,还干净。在操作系统上,MySQL也支持多类型操作系统,如linux,windows等,如下为MySQL几个重大变化的操作系统。
通过研究分析,不难发现:MySQL从低版本向高版本迭代变化的过程,越来越严谨的安全性是其一大特点之一,我们举个例子,在版本6前,当忘记密码,重置密码,非常方面,只需使用执行如下两步即可:
步骤一:跳过权限表
mysqld –skip-grant-tables
步骤二:将密码置空
UPDATE user SET authentication_string='' WHERE user='root';
然而,这个方案,却在MySQL8不适用。
本篇文章将来解决MySQL 8忘记密码重置密码问题。主要包括三方面类容
内容一:简述解压式安装MySQL 8
内容二:忘记密码重置密码解决方案一
内容三:忘记密码重置密码解决方案二
一 安装
1.在官网下载安装包(官网提供两种安装方式:可视化安装方式和解压式),本示例以基于解压式。官网下载地址https://dev.mysql.com/downloads/mysql/
2.将安装包解压,放在 C:\MySQL 目录下面
3.配置环境变量
MySQL_HOME="C:\MySQL\mysql-8.0.15-winx64"
PATH="%MySQL_HOME%\bin"
4.以管理员身份打开dos
(1)启动服务
mysqld --install
(2)初始化并产生初始化密码(MySQL7+没有data目录,初始话安装data目录)
mysqld --initialize --user=mysql --console
(3)启动服务
net start mysql
(4)登录
账号root,密码为初始话产生的临时密码A*v)(Ivw7xjQ,登录后,需要改变
(5)更改root密码
格式:alter user '用户名'@'登录主机' identified by '密码(自定义)';
(6)新密码登录
(7)扩展命令
移除服务:mysqld --remove
停止mysql服务:mysql stop mysql
退出mysql:exit
二 解决忘记密码问题
(一)方案一
1.管理员身份进入dos
2.停止mysql服务
net stop mysql
3.无密码启动
mysqld --console --skip-grant-tables --shared-memory
4.另启一个dos窗口,无密码登录
5.清空密码
注意:authentication_string采用的是plugin加密方式,故设置为空,不要设置为其他值
6.启动服务
关闭打开的两个dos窗口,然后以管理员身份重新打开一个dos窗口,启动服务
net start mysql
7.无密码登录
mysql -u root
8.重新设置密码
修改后,就可以用新密码登录了。
9.新密码登录
(二)方案二:利用参数 --init-file参数
1.停止服务
net stop mysql
2.在c:\MySQL 目录下创建ResetPWD.txt文件,文件内容为
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
3.执行ResetPWD.txt文件
mysqld --init-file=c:\mysql\ResetPWD.txt --console,执行完毕后,关闭dos窗口
4.启动mysql
net start mysql
5.用新密码登录