在安装完数据库后,由于自己不小心直接关闭了安装窗口,或者长时间没有使用root用户登录系统,导致忘记了root密码,这时就需要重置MySQL的root密码。当然,最简单方式自然是删除数据库的data目录,然后重新安装数据库。但是很多时间我们需要保留data目录中的数据,所以就需要查找如何重置root密码。

我们知道,在知道root密码时,可以使用“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;”指令来修改root用户的密码,如下图:

只需要这一行指令就完成了对root密码的从新设置,无需其他操作,十分的简单。
但是,如果忘记了root密码,又该如何重置呢?根据官方文档的描述,Windows系统下有两种方法可以修改密码,官方文档请参考:https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
方案一:执行初始化文件
步骤1:使用管理权限的账户登录系统;
步骤2:停止MySQL的服务,不管用什么方法,必须让它停下来,如下图:

步骤3:创建一个文件mysql-init.txt,里面写着修改密码的指令“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;”,然后将文件保存,如图所示:

步骤4:在终端界面中,进入到MySQL安装的bin目录下:

步骤5:在bin目录下,执行mysqld,并指定刚才创建的mysql-ini.txt作为初始化文件,使用指令为“mysqld –defaults-file=”D:\Programs\MySQL\MySQL-8.0.12-winx64\my.ini” –init-file=”D:\Programs\MySQL\mysql-ini.txt””,其中,–defaults-file指定的是配置文件,–init-file指定的是初始化执行的文件,如下图所示:

按回车键之后,不要关闭终端,需要再打开一个终端,来确认密码修改是否成功:

很明显,登陆成功了,修改密码方式正确!
当然,若是真的关闭了终端,也可以使用“net start MySQL”的指令方式启动MySQL,然后再进行验证:

步骤6:删除创建的mysql-ini.txt文件,当然,不删除也是可以的!

方案二:使用登录时跳过验证的方式重置root密码
步骤1:先关闭MySQL服务,然后使用“–skip-grant-tables”配置项,跳过权限验证方式重启MySQL服务:

这里使用的指令是“mysqld –shared-memory –skip-grant-tables”,若是只是“mysqld –skip-grant-tables”的话,会导致mysqld启动失败,提示“TCP/IP, –shared-memory, or –named-pipe should be configured on NT OS”错误。经过测试,只有加上“–shared-memory”才能启动、访问数据库。
步骤2:在打开一个终端,在里面使用免密的方式登陆数据库,直接运行mysql即可:

步骤3:首先刷新执行指令“FLUSH PRIVILEGES;”,刷新权限:

然后执行指令“ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_psd_123’;”进行密码更新操作,“new_psd_123”即是设置的新密码:

设置完成后,正常启动MySQL服务,使用用户名密码进行验证是否设置成功!

---------------------
作者:好记忆和烂笔头
来源:CSDN
原文:https://blog.csdn.net/baidu_32363401/article/details/81544573
版权声明:本文为博主原创文章,转载请附上博文链接!

mysql8.0.13修改密码的更多相关文章

  1. 64位 windows10,MYSQL8.0.13重置密码(忘记密码或者无法登录)

    上一节的MySQL的配置安装里,并没有用到配置文件my.ini.那在MYSQL8.0.13如何解决密码重置问题呢.我去网上搜了好多的资料都是改配置文件my.ini的,后来终于找到了一条命令:操作步骤如 ...

  2. mysql8.0 安装 修改密码 允许远程连接

    转自:https://www.cnblogs.com/xyabk/p/8967990.html mysql从5.7一下子跳跃到了8.0,其中的改变还是很大,有点这里就不说了,小伙伴们自己去百度了解一下 ...

  3. mysql8.0版本修改密码

    登录之后使用如下命令: ALTER USER 'root'@'localhost' IDENTIFIED BY "你的新密码"; 还有不知是不是因为mysql版本问题,一开始设置的 ...

  4. 使用yum源的方式单机部署MySQL8.0.13

    使用yum源的方式单机部署MySQL8.0.13 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 基本上开源的软件都支持三种安装方式,即rmp方式安装,源码安装和二进制方式安装.在 ...

  5. 使用二进制安装包的方式单机部署MySQL8.0.13

    使用二进制安装包的方式单机部署MySQL8.0.13 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 关于MySQL的介绍我这里就不多做赘述了,如何下载MySQL详情请参考:MySQ ...

  6. 64位 windows10,安装配置MYSQL8.0.13

    MySQL的安装配置过程,一查网上一大堆,但是每个人在安装配置的过程中都会碰到一些问题,因为安装的版本不一样,有些命令可能就不适用了.所以安装之前一定先确认好你的版本号. 下面开始安装MYSQL8.0 ...

  7. mysql8.0.13 的docker镜像安装

    1.从docker中获取mysql8.0.13镜像 docker pull mysql:8.0.13通过 docker images 命令查看镜像是否获取到了 2.运行 mysql8.0.13 镜像 ...

  8. win10下安装配置mysql-8.0.13

    1.下载mysql-8.0.13安装包 https://dev.mysql.com/downloads/mysql/ 选择zip安装包下载就好. 2.解压到你要安装的目录 3.创建my.ini配置文件 ...

  9. Windows下MySQL8.0.13解压版安装教程

    下载 MySQL8.0.13-64位下载地址 在下载页面的底部,有三种安装包,第一种是MySQL的安装程序,下载完点击安装即可. 第二种是普通的压缩版,体积较小. 第三种是自带debug和测试的压缩版 ...

随机推荐

  1. gradle 编译 "aapt.exe'' finished with non-zero exit value 1 问题

    升级了一下android studio的版本,从3.0升级到3.3,升级过后,编译确实快了不少,但项目导入后一直报 "aapt.exe'' finished with non-zero ex ...

  2. 「JavaScript面向对象编程指南」对象

    对象的属性名可加上引号,下面三行代码所定义的内容是完全相同的 var hero = { occupation : 1 }; var hero = { "occupation" : ...

  3. 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...

  4. Depp Learning note Day1

    1.softmax函数的优化来防止溢出 2.np.argmax()函数的使用 返回值为数组中最大值的索引 a = [1, 2, 3, 4, 3, 7] print(np.argmax(a)) 若np. ...

  5. 通过 iis或者本地IP 调试代码

    首先说下这个操作的意义,做微信开发每次需要将代码部署后才能调试.现在设置了Nginx服务器,生产环境可以指向正式服务器地址,调试时可以将Nginx指向自己的PC,但是vs调试启动的默认地址是[loca ...

  6. Linux Shell下”>/dev/null 2>&1“相关知识说明

    0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr) command >/dev/null 2>&1 &  == ...

  7. mysql tp5 find_in_set写法

    [['','exp',"FIND_IN_SET(".$data['type'].",place_category)"]]

  8. java的方法重写 ,多态和关键字 instanceof和final

    package cn.pen; /*final 是一个java的关键字,用于修饰局部变量.属性.方法.类,表示最终的意思. final修饰类表示最终类,无法被继承.public final class ...

  9. Redis的n种妙用,分布式锁,分布式唯一id,消息队列,抽奖……

    介绍 redis是键值对的数据库,常用的五种数据类型为字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset) Redis用作缓存,主要两个 ...

  10. django信号浅谈

    Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 1.Django内置信号 Model signals pre_in ...