windows10 mysql8.0.22忘记密码解决大法,密码搞不定,不管什么原因,不管什么提示,就按下面的方法搞一下,省时高效.

如有解决不了的密码问题,欢迎留言讨论,共同进步.

mysql忘记密码:

准备工作:停止mysql服务,win+r,运行services.msc,找到mysql服务并中止它.删除服务mysqld -remove mysql; 删除mysqld进程taskkill /f /im mysqld.exe

//注意,密码连接不成功,不一定就是密码问题,要先检查服务有没有启动.否则走弯路.https://blog.csdn.net/xiaoshaohui1234/article/details/72947707

简要步骤:方案一:

1.服务端:mysqld --console --skip-grant-tables --shared-memory,

2.客户端:mysql -u root -p

密码置空:update mysql.user set authentication_string='' where user="root";

刷新:flush privileges;  密码置空之后,必须,刷新一下就可以设置密码了.

3.服务端重启:ctrl+c,两次,中止之前mysqld.然后运行mysqld --console

4.客户端:mysql -u root -p

设置密码:set password for 'root'@'localhost'='123'; 或SET PASSWORD = 'auth_string';为当前用户设置密码.

OK

方案二:(此法较稳妥)

1.服务端:mysqld --console --skip-grant-tables --shared-memory,

2.客户端:mysql -u root -p

密码置空:update mysql.user set authentication_string='' where user="root";

刷新:flush privileges;

3.客户端:设置密码:ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';

加密规则和密码同时改.ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';  OK

注意:密码置空之后得flush privileges刷新一下,才能修改密码.不然会提示ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

回顾:改密码的4条命令:1.置空 update mysql.user set authentication_string='' where user='root';   2.alter user 'root'@'localhost' identified by 'admin'; (这一句中也可带上with 加密插件名称)  3.set password for 'root'@'localhost'='admin';4.flush privileges;

ok

方案三:

用前面二个方法不成功,出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

(这种情况主要密码安全格式要求严格所致,一般在.exe安装方式安装mysql后或执行mysql_secure_installation之后,修改密码时出现 。

关于MySQL安全配置mysql_secure_installation参看https://blog.csdn.net/qq_29627051/article/details/105390362

https://www.jb51.net/article/47727.htm)

按前面的方法修改密码,至密码置空之后,用alter user user() identified by 'admin';不成功,出现错误提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

根据提示信息,查看一下密码变量情况 :

1.SHOW VARIABLES LIKE 'validate_password%';

2.1重新更改密码级别:

set global validate_password.policy=0;或set global validate_password.policy=low;

注意变量名称不要打错,mysql5.7之前的变量名为validate_password_policy,后面是下划线,8.0.22的是点号.

2.2修改密码长度:set global validate_password.length=4;

3.flush privileges;

4. set password for 'root'@'localhost'='1234';或者ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';都可以.

ok

(通过set global validate_password.policy=0;和set global validate_password.length=4;两个命令所修改的变量值0、4,在重启mysql服务之后,还会恢复原值MEDIUM和8。

但修改过的密码是可以用的).

关于validate_password_policy可以参考这个https://blog.csdn.net/wltsysterm/article/details/79649484

安装插件:此法不行

INSTALL PLUGIN validate_password SONAME 'validate_password.so';

卸插件

uninstall plugin validate_password ;

*****************************

安装插件可以用:

mysql> INSTALL COMPONENT 'file://component_validate_password';
Query OK, 0 rows affected (0.01 sec)
mysql> show global variables like '%validate_password%';

卸载插件:

mysql> unINSTALL COMPONENT 'file://component_validate_password';
Query OK, 0 rows affected (0.00 sec)

********************************

如果卸载了插件的话,之前的密码登录会一直等.(也可能是服务端有问题).


mysql忘记密码,解决办法详细版,如下:

以管理员方式

打开shell窗口

一.首先开一窗口A运行服务端

mysqld -remove mysql  (删除mysql服务)      //默认服务名为mysql,根据你的名称修改.本地电脑的话,可以用services.msc,启动服务器,然后按一下m键,快速找到mysql开头的服务,停止它.

taskkill /f /im mysqld.exe   删除mysqld进程

mysqld --console --skip-grant-tables --shared-memory    跳过权限表启动服务(这样不必去修改my.ini)

二.另开一窗口B

1.登录

D:\mysql\bin>mysql -u root -p

查看

use mysql;
select host,user,plugin from user;  这两句等价于select host,user,plugin from mysql.user;
mysql> select host,user,plugin from mysql.user;

2.置密码为空

mysql> UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';  //置空,两个单引号,之间无空格,看起来象一个双引号.

3.刷新

mysql> flush privileges;

查看密码置空效果:

mysql> select host,user,user password,plugin,authentication_string from mysql.user;

注:8.0.22保存密码的字段为authentication_strin
这里的password看着是一个字段,但select password不会显示,会报错,其对就的是user password.

在这里似乎不能用update的方式来增加密码,试了,电脑好长时间无回馈.

此时空密码状态下,改变密码可用ALTER user 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'admin';

注意: 特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了 而是将加密后的用户密码存储于authentication_string字段。

4.修改密码

加密规则和密码同时改.ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';  OK

(ALTER user 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'admin';这个加密对应插件是用caching_sha2_password)

此时再查看

mysql> select host,user,user password,plugin,authentication_string from mysql.user;

密码admin是经过加密之后内容,看不懂才正常.不是明语文显示.


另.alter user user() identified by "admin";也可以修改密码.但建议用ALTER user 'root'@'localhost' IDENTIFIED BY 'admin';    或者ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';

如果修改当前登录身份的密码直接用alter user user() identified by "123";有时也可以.

但是

有时ALTER user user() IDENTIFIED BY 'admin';

会提示出错

:

ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'skip-grants host'

刷新也无用.

而用ALTER user 'root'@'localhost' IDENTIFIED BY 'admin';或者ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';(建议用这条语句)可以.

所以,稳妥点还是多打几个字用有@的比用user()效果好.


特殊例外(方案三):用上述方法修改密码出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements


这种情况主要密码安全格式要求严格所致,一般在.exe安装方式安装mysql后或执行mysql_secure_installation之后,再改密码时出现 .

(关于MySQL安全配置mysql_secure_installation参看https://www.jb51.net/article/47727.htm)

按前面的方法修改密码,至密码置空之后,用alter user user() identified by 'admin';不成功,出现错误提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

根据提示信息,查看一下密码变量情况 :SHOW VARIABLES LIKE 'validate_password%';

    关于密码要求参考:  

密码级别变量validate_password.policy为medium,

重新更改密码级别:

set global validate_password.policy=0;或set global validate_password.policy=low;

注意变量名称不要打错,mysql5.7之前的变量名为validate_password_policy,后面是下划线,8.0.22的是点号.

再次修改密码:

还是出错,再看密码变量值:show variables like 'validate_password%';

密码长度不合格,再修改下长度:set global validate_password.length=4;

再次修改密码:(须flush privileges;刷新之后再修改密码才行.)

(通过set global validate_password.policy=0;和set global validate_password.length=4;两个命令所修改的变量值0、4,在重启mysql服务之后,还会恢复原值MEDIUM和8.

但修改过的密码是可以用的).

注:可以在客户端窗口用cmd命令行方式:mysqladmin -u root shutdown -p 停止 服务窗口对应的mysqld服务。

最新mysql8.0.22忘记密码解决大法相关推荐

  1. mysql8.0.20忘记密码_mysql8.0.19忘记密码的完美解决方法

    推荐阅读:MySQL 8.0.19支持输入3次错误密码锁定账户功能(例子) 1.打开cmd窗口(最好以管理员身份打开),net stop mysql 停止mysql服务 2.开启跳过验证密码的mysq ...

  2. mysql8.0.20忘记密码_mysql8.0版本忘记密码修改密码

    最近也不知道是懒了还是老了,几天没碰数据库竟然把密码忘了,这就好比吃饭的家伙锁在箱子里,那还怎么吃饭?所以我得把mysql密码相关的都整理一下,免得还得招人开锁,那实在是太尴尬了. 实验目的:忘记用户 ...

  3. mysql8.0.28忘记密码

    # 跳过授权表验证 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 最后添加: skip-grant-tables# 刷新权限 FLUSH PRIVILEGES ...

  4. 【Linux学习笔记】3.Linux 忘记密码解决方法及远程登录

    前言 本章介绍Linux的忘记密码解决方法及远程登录. Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当 ...

  5. centos8安装mysql8_CentOS 8安装MySQL8.0.22图文教程

    安装环境 系统版本:CentOS-8.2.2004(安装centos系统本章节不细节描述) mysql版本:MySQL8.0.22 一.Mysql下载 1.下载 MySQL 所需要的安装包,下载地址: ...

  6. 1. mysql8.0.22安装及其简单使用

    mysql8.0.22 1. 数据库的相关概念 2. 数据库存储数据的特点 3. MySQL产品的安装 一.MySQL服务的启动和停止 二.MySQL服务的登录和退出 三.MySQL的常见命令和语法规 ...

  7. MySQL8.0.22的下载安装(Windows)

    MySQL8.0.22的下载安装(Windows) 官网下载地址 启动服务: 登录: 修改密码: 官网下载地址 https://dev.mysql.com/downloads/mysql/ 下载完成后 ...

  8. mysql8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    mysql8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements ...

  9. 虚拟机忘记密码解决方法

    虚拟机忘记密码解决方法 参考文章: (1)虚拟机忘记密码解决方法 (2)https://www.cnblogs.com/pinpin/p/10937152.html 备忘一下.

最新文章

  1. PsList v1.28使用
  2. HttpServletRequest(request的一些API)
  3. HTML5 入门详解
  4. 使用CSS3改变文本选中的默认颜色
  5. django-视图中的request对象的属性
  6. Apache服务器的下载与安装
  7. Swift中的willSet与didSet
  8. vue框架导入echarts第一个示例
  9. vue3.0中使用echarts
  10. c语言交通处罚单系统主函数,C语言课程设计交通处罚单管理系统.doc
  11. IOS-App Store 提审应用步骤
  12. js表单提交的三种方式
  13. No instances available for provider
  14. php工程师的学习之道以及需要掌握的知识体系
  15. gmm聚类python_GMM-实现聚类的代码示例
  16. WAP(wml)开发问答
  17. input自动填充后背景颜色被覆盖的问题
  18. 网络安全架构:如何理解P2DR模型
  19. js输出26个英文字母
  20. win10查看笔记本电脑电池健康度

热门文章

  1. 杜比dss200服务器重装,杜比dss200服务器恢复系统操作
  2. python实现发送和获取手机短信验证码
  3. 没有计算机网络适配器,如果win10设备管理器中没有网络适配器,该怎么办?
  4. centos7下dns服务搭建
  5. 2022年各省春晚收视率如何?地图分析帮你清楚展现
  6. OSPF学习笔记记录
  7. php案例:创建日期时间目录
  8. java 生成瓦片_生成矢量瓦片 | SuperMap iDesktop Java
  9. 图片转base64(前后端)
  10. 百度指数java_百度指数爬取