前言
对MySQL有研究的读者,可能会发现MySQL更新很快,在安装方式上,MySQL提供了两种经典安装方式:解压式和一键式,虽然是两种安装方式,但我更提倡选择解压式安装,不仅快,还干净。在操作系统上,MySQL也支持多类型操作系统,如linux,windows等,如下为MySQL几个重大变化的操作系统。
![](/d/20211018/94cd99a771f1774eb9c6edc1990ac756.gif)
通过研究分析,不难发现: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
![](/d/20211018/74d98f7bf5249657d8d3143f019ff9b0.gif)
(2)初始化并产生初始化密码(MySQL7+没有data目录,初始话安装data目录)
mysqld --initialize --user=mysql --console
![](/d/20211018/0228d7b3cdccd4188e98e5cb008cec71.gif)
(3)启动服务
net start mysql
![](/d/20211018/702d4bd675465a2ab313f90a34ed9be7.gif)
(4)登录
账号root,密码为初始话产生的临时密码A*v)(Ivw7xjQ,登录后,需要改变
![](/d/20211018/3ba2984ce057426ae920a024d175ed86.gif)
(5)更改root密码
格式:alter user '用户名'@'登录主机' identified by '密码(自定义)';
![](/d/20211018/b25c998adbc60306eb798dc8601e5535.gif)
(6)新密码登录
![](/d/20211018/8b70cb1a71f2125b4fd42357f4c4a581.gif)
(7)扩展命令
移除服务:mysql --remove
停止mysql服务:mysql stop mysql
退出mysql:exit
二 解决忘记密码问题
(一)方案一
1.管理员身份进入dos
2.停止mysql服务
net stop mysql
![](/d/20211018/a356c3fdc623d87b4186022ea7c3bc7f.gif)
3.无密码启动
mysqld --console --skip-grant-tables --shared-memory
![](/d/20211018/31e8272fcc4bd5dacca1e38e21bd081b.gif)
4.另启一个dos窗口,无密码登录
![](/d/20211018/0e410a443c6c2f99825f3da0c6ce51b7.gif)
5.清空密码
注意:authentication_string采用的是plugin加密方式,故设置为空,不要设置为其他值
![](/d/20211018/a7e85d16c34ad39a0db717e584ab6c54.gif)
6.启动服务
关闭打开的两个dos窗口,然后以管理员身份重新打开一个dos窗口,启动服务
net start mysql
![](/d/20211018/91582f20365a54bd5239be09c5fdd6de.gif)
7.无密码登录
mysql -u root
![](/d/20211018/df423bf38a5d8d758434a7113398e730.gif)
8.重新设置密码
修改后,就可以用新密码登录了。
![](/d/20211018/8d34dbc12ac9f1fc9afe418c267ccf9d.gif)
9.新密码登录
![](/d/20211018/0a58fa3ebdc467a1bd996df7a4e3b9e7.gif)
(二)方案二:利用参数 --init-file参数
1.停止服务
net stop mysql
![](/d/20211018/358b19e9b6f30d0fec9d2f128473f89d.gif)
2.在c:\MySQL 目录下创建ResetPWD.txt文件,文件内容为
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
![](/d/20211018/4afa875741bbd2879319f9e3535c6fb0.gif)
3.执行ResetPWD.txt文件
mysqld --init-file=c:\mysql\ResetPWD.txt --console,执行完毕后,关闭dos窗口
![](/d/20211018/cde06d25e1fbd58cc6fb2c8990e55e1f.gif)
4.启动mysql
net start mysql
![](/d/20211018/27bb3b74d39e386dec23c1b3023de055.gif)
5.用新密码登录
![](/d/20211018/06d850bdf8785dc3cf810e4c6e2e7678.gif)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:- MySQL8下忘记密码后重置密码的办法(MySQL老方法不灵了)
- mysql8.0.19忘记密码的完美解决方法
- Windows 8.1下MySQL5.7 忘记root 密码的解决方法
- mysql 8.0.18 压缩包安装及忘记密码重置所遇到的坑
- mysql8.0忘记密码修改与net命令服务名无效问题
- MySQL8忘记密码的快速解决方法