对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)扩展命令

移除服务:mysql --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.用新密码登录

三  版权区


  • 感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。
  • 博主网址:http://www.cnblogs.com/wangjiming/。
  • 极少部分文章利用读书、参考、引用、抄袭、复制和粘贴等多种方式整合而成的,大部分为原创。
  • 如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出,邮箱:2098469527@qq.com。
  • 可以转载该博客,但必须著名博客来源。

浅析MySQL 8忘记密码处理方式的更多相关文章

  1. mysql数据库忘记密码时如何修改(一)

    方法/步骤 打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 打开cmd命令提示符,进入上一步mysql.exe所在的文件夹. 输入命令  mysqld --skip-grant ...

  2. MySQL解决忘记密码问题

    解决Win10下Mysql 的Access denied for user'root'@'localhost' (using password: NO)问题 mysql一旦忘记密码即会出现这样的错误. ...

  3. Mysql数据库忘记密码找回方法

    Mysql数据库忘记密码找回 a 停止mysql服务 /etc/init.d/mysql stop b 使用--skip-grant-tables启动mysql,忽略授权登录验证 mysqld_saf ...

  4. 修改MySql Root密码(包含忘记密码的方式)

    曾几何时,我也是记得MySQL root密码的人,想要修改root密码还不是轻而易举的事?下面前三种修改改方式都是在记得密码的情况下进行修改,如果你忘记了原本的root,请直接跳至 终极 第一种: 在 ...

  5. mysql中修改密码的方式

    参考地址:https://www.cnblogs.com/yang82/p/7794712.html mysql中修改用户密码的方式: 最简单的方法就是借助第三方工具Navicat for MySQL ...

  6. mysql数据库忘记密码时如何修改(转)

    当我们忘记mysql数据库密码时我们就无法正常进入数据库,也就无法修改密码,那么这时该怎么修改密码呢,这里教大家一个简单常用修改密码的方式. (如果图简单快速修改密码的话,直接跳过查询步骤,依照图上执 ...

  7. MySQL多表查询、事务、DCL:内含mysql如果忘记密码解决方案

    MySQL多表查询.事务.DCL 多表查询 * 查询语法: select 列名列表 from 表名列表 where.... * 准备sql # 创建部门表 CREATE TABLE dept( id ...

  8. MYSQL数据库忘记密码

    1.忘记密码解决办法 Windows下的实际操作如下 1.关闭正在运行的MySQL. 2.打开DOS窗口,转到mysql\bin目录. 3.输入mysqld --skip-grant-tables回车 ...

  9. linux环境下 mysql数据库忘记密码 处理办法UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;

    整个修改过程大概3-10分钟(看个人操作),这个时间内mysql出于不需要密码就能登陆的状态,请设法保证系统安全 不罗嗦直接上步骤 1.vi /etc/my.cnf 在[mysqld]下,添加一句:s ...

随机推荐

  1. ubuntu 18.04 安装mysql 8.0

    1.下载配置(不然直接装的是mysql5.7): wget https://repo.mysql.com//mysql-apt-config_0.8.10-1_all.deb 2.更新配置: sudo ...

  2. [LeetCode] Loud and Rich 聒噪与富有

    In a group of N people (labelled 0, 1, 2, ..., N-1), each person has different amounts of money, and ...

  3. nginx配置ssl证书实现https访问

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的 ...

  4. 关于HTTP协议,这一篇就够了

    HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...

  5. [Swift]LeetCode561. 数组拆分 I | Array Partition I

    Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1 ...

  6. [Swift]LeetCode927. 三等分 | Three Equal Parts

    Given an array A of 0s and 1s, divide the array into 3 non-empty parts such that all of these parts ...

  7. CMake根据平台移植检查设置文件编译选项

    #添加函数检查功能 include(CheckFunctionExists) //检查系统是否支持accpet4,将检查结果设置至HAVE_ACCEPT4 check_function_exists( ...

  8. js闭包vs Java内部类

    前言: 昨天写了一个关于Java内部的博客,在内部类的最后一点中谈到了Java闭包的概念,他是这样定义闭包的:闭包是一个可调用的对象,它记录了一些信息,这些信息来自创建它的作用域.结合Java的内部类 ...

  9. vue项目安装vux

    本文章默认基于“vue init webpack myproject”已经搭好基本的项目, 而且本文是从我有道笔记拷贝稍加修改过来的 本来我私人笔记写给自己看的所以有些地方可能描述不够清晰 需要修改的 ...

  10. python +selenium识别不来click事件,出现报错

    assert "login" in browser.title browser.implicitly_wait(10) elem = browser.find_element_by ...