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

移除服务: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/。
  • 极少部分文章利用读书、参考、引用、抄袭、复制和粘贴等多种方式整合而成的,大部分为原创。
  • 如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出,邮箱:[email protected]。
  • 可以转载该博客,但必须著名博客来源。

原文地址:https://www.cnblogs.com/wangjiming/p/10363357.html

时间: 2024-11-02 15:14:09

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

Centos登录Mysql时忘记密码

Centos登录Mysql时忘记密码解决办法: 1.停止Mysql服务(在mysql目录下) ./support-files/mysql.server stop 2.修改配置文件/etc/my.cnf 在[mysqld]下添加skip-grant-tables 意思是忽略密码 保存并退出 3.启动Mysql(在Mysql目录下) /support-files/mysql.server start 4.修改密码 Welcome to the MySQL monitor. Commands end

mysql数据库忘记密码后如何修改密码

当我们忘记mysql数据库密码时我们就无法正常进入数据库,也就无法修改密码,那么这时该怎么修改密码呢,这里教大家一个简单常用修改密码的方式. 方法/步骤 1 打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 2 打开cmd命令提示符,进入上一步mysql.exe所在的文件夹. 3 输入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证.注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行.注意:在输入此命令之

mysql root 忘记密码 破解

service mysqld stop #通知mysql服务 vim /etc/my.cnf     #编辑配置文件 添加 skip-grant-tables 保存配置文件 重启服务 mysql -p      #登陆mysql update mysql.user set password=password('123456') where user ='root'; #讲root密码修改为123456 设置 #skip-grant-tables  关闭设置 /etc/init.d/mysqld

mysql 忘记密码处理方式

安全模式启动 mysqld_safe --skip-grant-tables & mysql -u root use mysql update user set password=PASSWORD('新密码') where User='root';

MySQL数据库忘记密码

最近在管理一个服务器,是Windows Server 2012版本的,本来想连接一下数据库,发现被设置了密码,而之前的管理人员已经跑路了,没有办法只有修改密码了.以下是修改过程,记录一下. 1. 首先查看MySQL数据库服务是否启动,这个直接在服务器管理器的"服务"里面就可以查到.如果启动,先关闭该服务,可使用命令行进行关闭,命令为: net stop mysql 2. 关闭完成之后,命令行窗口进入MySQL安装位置下的bin目录内.如果忘记安装路径,同样可以在"服务&quo

MySQL数据库忘记密码怎么办?

忘记MySQL数据库密码就进不去数据库,也就无法修改密码,解决方法如下: 1:打开cmd命令符,先关闭正在运行的数据库,输入如下命令: 2:打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 3:输入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证.注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的dos窗口进入到mysql的bin目录下.  这个是第二个窗口如下:直接输入mysql,不需要带任何登录参数直接回车

MySQL数据库忘记密码如何重新设置?

前 言当我们忘记了MySQL数据库密码后,该如何重新进行设置? 操作步骤步骤1:cmd打开命名窗口 步骤2:关闭正在运行的MySQL服务(命令:net stop mysql)(如果:此时MySQL正在运行) 步骤3:找到mysqld.exe的安装目录 步骤4:进入mysqld.exe的安装目录,执行命令(--skip-grant-tables) 步骤5:输入 --skip-grant-tables 命令后,该窗口就无法操作了,需要另开一个命令窗口 步骤6:另开一个命令窗口,进入mysql.exe

mysql数据库忘记密码时如何修改

 1.打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 2.打开cmd命令提示符,进入上一步mysql.exe所在的文件夹. 3.输入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证.注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行.注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行. 4.然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上

mysql数据库忘记密码时如何修改(本地)

打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 2 打开cmd命令提示符,进入上一步mysql.exe所在的文件夹. 3 输 入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证.注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行.注意:在输入此命令之前先在任务管理 器中结束mysqld.exe进程,确保mysql服务器端已结束运行. 然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库