MySQL8.0正确修改密码的姿势[通俗易懂]

MySQL8.0正确修改密码的姿势[通俗易懂]mysql更新完密码,总是拒绝连接、登录失败?MySQL8.0不能通过直接修改mysql.user表来更改密码。正确更改密码的方式备注:清空root密码MySQL8.0不能通过直接修改mysql.user表来更改密码。因为authentication_string字段下只能是MySQL加密后的43位字符串密码,其他的导致错误。错误不报出,但是无法再登录mysql,总是会提示无…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

mysql 更新完密码,总是拒绝连接、登录失败?MySQL8.0 不能通过直接修改 mysql.user 表来更改密码。正确更改密码的方式备注: 清空root密码
MySQL8.0 不能通过直接修改 mysql.user 表来更改密码。

因为authentication_string字段下只能是MySQL加密后的43位字符串密码,其他的导致错误。错误不报出,但是无法再登录mysql,总是会提示 无法认证。
参考:MySQL8.0

mysql> USE mysql;
Database changed
mysql> UPDATE user SET authentication_string="123456" WHERE user="root";
Query OK, 1 row affected (0.39 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH privileges;  # 刷新保存
Query OK, 0 rows affected (0.13 sec)

mysql 5.7.9 之后取消了password 函数,authentication_string=password("123456") 会报错

C:\WINDOWS\system32>mysql -u root -p
Enter password: ******
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
1234567891011121314
如果 你已经这样更改密码,并且导致了无法进入mysql。本人表示同情之时,还为了你提供了详细的解决方案。请查看本文备注:清空root 密码
正确更改密码的方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "your_password";
mysql> USE mysql;
Database changed
mysql> ALTER USER 'root'@'localhost' IDENTIFIEED WITH mysql_native_password BY "markjun";
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIEED WITH mysql_native_password BY "markjun"' at line 1
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "markjun";
Query OK, 0 rows affected (0.18 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "123456";
Query OK, 0 rows affected (0.08 sec)

mysql> SELECT user, authentication_string FROM user;
+------------------+------------------------------------------------------------------------+
| user             | authentication_string                                                  |
+------------------+------------------------------------------------------------------------+
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9                              |
+------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)

mysql> FLUSH privileges;
Query OK, 0 rows affected (0.38 sec)

mysql> quit;
Bye

F:\MySQL\mysql-8.0.13-winx64\bin>mysql -u root -p
Enter password: *******
...

mysql>
  • 备注: 清空root密码

    停止 MySQL 任务 net stop MySQL

    mysqld 命令 mysqld –console –skip-grant-tables –shared-memory

    无密码进入mysql mysql -u root

    清空root 密码 UPDATE user SET authentication_string=”” WHERE user=“root”;

另一个终端无密码进入

F:\MySQL\mysql-8.0.13-winx64\bin>mysql -u root -p
Enter password: *******
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

F:\MySQL\mysql-8.0.13-winx64\bin>mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
...
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> USE mysql;
Database changed

mysql> SELECT user, authentication_string FROM user;
+------------------+------------------------------------------------------------------------+
| user             | authentication_string                                                  |
+------------------+------------------------------------------------------------------------+
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root             | 123456                                                                |
+------------------+------------------------------------------------------------------------+
4 rows in set (0.34 sec)

mysql> UPDATE user SET authentication_string="" WHERE user="root";
Query OK, 1 row affected (0.20 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT user, authentication_string FROM user;
+------------------+------------------------------------------------------------------------+
| user             | authentication_string                                                  |
+------------------+------------------------------------------------------------------------+
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root             |                                                                        |
+------------------+------------------------------------------------------------------------+
4 rows in set (0.00 sec)

mysql> FLUSH privileges;
Query OK, 0 rows affected (0.10 sec)

mysql> quit;
Bye

停止 mysqld 任务,Ctrl+C 结束任务,或者直接关闭 运行 mysqld 的 cmd 终端。

需要先停止运行上述 mysqld 任务,否则报错

F:\MySQL\mysql-8.0.13-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。

先停止上述 mysqld 任务

F:\MySQL\mysql-8.0.13-winx64\bin>net start mysql
MySQL 服务正在启动 ...
MySQL 服务已经启动成功。

现在 mysql root 已经没有了密码

F:\MySQL\mysql-8.0.13-winx64\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.

...
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170161.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringBoot项目添加mybatis插件

    SpringBoot项目添加mybatis插件SpringBoot项目添加mybatis插件项目场景:    对SpringBoot项目,如何在Mybatis中添加插件可以直接从dao->xml层业务实现:    下载插件MybatisX    File->Settings->plugins安装即可(随后重启IDEA)问题描述:   &nbs

    2022年10月7日
    2
  • Mybatis模糊查询的四种方式

    Mybatis模糊查询的四种方式Mybatis 模糊查询的四种方式 1 根据姓名模糊查询员工信息 1 1 方式一步骤一 编写配置文件步骤二 测试步骤三 分析此种方式需要在调用处手动的去添加 通配符 1 2 方式二说明 使用方式一可以实现模糊查询 但是有一点不方便的地方就是 在测试类中 调用 selectList 方法传参时需要调用者手动的添加 号通配符 显然是麻烦的 能否在映射配置文件中直接将 号写好呢 有的朋友可能会这么想 好办 直接在配置文件中这么写 形如 1 测试后发现 程序会报错 原因是 缺少单引号 这个

    2025年7月24日
    0
  • python open函数的使用

    python open函数的使用文件对象不仅可以用来访问普通的磁盘文件,也可以访问其他类型抽象层面上的"文件",下面介绍open函数在python操作文件上的常用方法。file_object=open(file_name,access_mode=’r’,buffering=’-1′)access_mode:文件使用模式,在open函数中默认为只读。其他模式还有:w:以写方式打开a:以追…

    2022年5月26日
    48
  • directx修复工具是干嘛的_win10自带dll修复

    directx修复工具是干嘛的_win10自带dll修复最后更新:2019-9-5ForEnglishversion,pleaserefertothebottomofthispage.DirectX修复工具最新版:DirectXRepairV3.9标准版NEW!版本号:V3.9.0.29371大小:30.7MB/7z格式压缩,98.7MB/zip格式压缩,231MB/解压后其他版本:增强版在…

    2022年4月20日
    228
  • 2010年软件外包企业排名, 软件外包公司排名2010

    2010年软件外包企业排名, 软件外包公司排名20101. 博朗软件 Bleum(上海)2. 中软国际(北京)3. 东软集团 Neusoft(沈阳)4. 博彦科技 BeyondSoft(北京)5. 海辉软件 HiSoft(大连)6. 文思 VanceInfo(北京)7. 浙大网新 Insigma (杭州)8. 奥博杰天 Objectiva(北京)9. 浪潮 Inspur(济南)…

    2022年5月5日
    67
  • 树莓派3B 系统安装及初始化配置教程[通俗易懂]

    树莓派3B 系统安装及初始化配置教程[通俗易懂]本文仅供学习交流使用,如侵立删!企鹅:1033383881相关软件下载链接SD卡格式化工具、系统烧录工具、Raspbian系统镜像https://pan.baidu.com/s/1o5j_uD31hxLsPP–GRZ4Bw提取码:9nhv1.烧录系统1.1SD卡格式化安装SD卡格式化工具,格式化SD卡1.2写入系统镜像至SD卡点击写入后会有个确认覆盖弹窗提示,YES即…

    2022年6月25日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号