对 MySQL 有研究的读者,可能会发现 MySQL 更新很快,在安装方式上,MySQL 提供了两种经典安装方式:解压式和一键式,虽然是两种安装方式,但我更提倡选择解压式安装,不仅快,还干净。在操作系统上,MySQL 也支持多类型操作系统,如 linux,windows 等,如下为 MySQL 几个重大变化的操作系统。

mysql8密码生成 mysql8 密码_mysql8密码生成

      通过研究分析,不难发现: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

mysql8密码生成 mysql8 密码_数据库_02

(2) 初始化并产生初始化密码 (MySQL7 + 没有 data 目录,初始话安装 data 目录)

mysqld --initialize --user=mysql --console

mysql8密码生成 mysql8 密码_MySQL_03

(3)启动服务

net start mysql

mysql8密码生成 mysql8 密码_mysql8密码生成_04

(4)登录

账号 root, 密码为初始话产生的临时密码 A*v)(Ivw7xjQ,登录后,需要改变

mysql8密码生成 mysql8 密码_数据库_05

(5)更改 root 密码

格式:alter user '用户名'@'登录主机' identified by '密码 (自定义)';

mysql8密码生成 mysql8 密码_mysql8密码生成_06

(6)新密码登录

mysql8密码生成 mysql8 密码_mysql8密码生成_07

(7)扩展命令

移除服务:mysqld  --remove

停止 mysql 服务:mysql stop mysql

退出 mysql:exit

二   解决忘记密码问题

 (一)方案一

1. 管理员身份进入 dos

2. 停止 mysql 服务

net stop mysql

mysql8密码生成 mysql8 密码_忘记密码_08

3. 无密码启动

mysqld --console --skip-grant-tables --shared-memory

mysql8密码生成 mysql8 密码_数据库_09

4. 另启一个 dos 窗口,无密码登录

mysql8密码生成 mysql8 密码_MySQL_10

5. 清空密码

注意:authentication_string 采用的是 plugin 加密方式,故设置为空,不要设置为其他值

mysql8密码生成 mysql8 密码_mysql8密码生成_11

6. 启动服务

关闭打开的两个 dos 窗口,然后以管理员身份重新打开一个 dos 窗口,启动服务

net start mysql

mysql8密码生成 mysql8 密码_数据库_12

7. 无密码登录

mysql -u root

mysql8密码生成 mysql8 密码_数据库_13

8. 重新设置密码

修改后,就可以用新密码登录了。

mysql8密码生成 mysql8 密码_MySQL_14

9. 新密码登录

mysql8密码生成 mysql8 密码_mysql_15

(二)方案二:利用参数 --init-file 参数

1. 停止服务

net stop mysql

mysql8密码生成 mysql8 密码_忘记密码_16

2. 在 c:\MySQL 目录下创建 ResetPWD.txt 文件,文件内容为

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

mysql8密码生成 mysql8 密码_数据库_17

3. 执行 ResetPWD.txt 文件

mysqld --init-file=c:\mysql\ResetPWD.txt --console,执行完毕后,关闭 dos 窗口

mysql8密码生成 mysql8 密码_mysql_18

4. 启动 mysql

net start mysql

mysql8密码生成 mysql8 密码_数据库_19

5. 用新密码登录

mysql8密码生成 mysql8 密码_mysql8密码生成_20