mysql忘记密码,更改密码

  对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:MySQLmysql-8.0.15-winx64"

PATH="%MySQL_HOME%in"

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窗口,进行第一次无密码登录

mysql -uroot -p

password:直接回车即可

在打开的窗口清空密码

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

update mysql.user  set authentication_string=' ' where user='root' and host='localhost';  #特别注意的是authentication_string需要设计成空

 

操作完毕之后关闭dos窗口

6.在新打开的管理员身份运行的cmd中  启动服务(net start mysql)

具体的操作:以管理员身份重新打开一个dos窗口,启动服务

net start mysql

 

7.进行第二次无密码登录

mysql -u root

在重新登录的窗口中重新设置密码

mysql>  alter user root@localhost identified by 'apiwork@1234';

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

9.新密码登录

 

原文地址:https://www.cnblogs.com/isme-zjh/p/11730684.html