手把手教你MySQL 重置密码

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 手把手教你MySQL 重置密码

MySQL8.0 以后数据库修改密码策略做了变更,在安装数据库的时候没有设置密码环节了,而是在初次启动的时候在 /var/log/mysql/error.log 日志文件中生成一个随机的临时密码。如果你不小心把日志文件删除了或者忘记了密码,我们就需要进行重置密码操作。


一,介绍


我们需要知道的是密码存储在 mysql 数据库的 users 表中。 我们只需要绕过 MySQL 身份认证,登录到服务端然后更新 user 表记录即可。


二,跳过验证启动


先停止现有的 MySQL 服务:

sudo service mysql stop
通过以上命令进行停止服务,通过跳过验证来更改配置文档 /etc/mysql/mysql.conf.d/mysqld.cnf 在文档末尾添加 skip-grant-tables 配置:
max_binlog_size   = 100M
# binlog_do_db          = include_database_name
# binlog_ignore_db      = include_database_name
#
#
skip-grant-tables

接下来重新启动 MySQL 服务:

sudo service mysql start


三,重置密码


现在我们可以直接在终端输入 mysql 命令登录服务端了。


我们需要将 user 表的 auth_socket 插件换成 mysql_native_password, 否则待会执行更新 password 语句的时候会报错 Plugin ‘auth_socket’ is not loaded:

update  user set  `plugin`='mysql_native_password'  WHERE `user`='root' AND `host`='localhost'

更改 root 用户密码:

 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

还原配置我们再次修改刚才修改的配置文件即可,删除 skip-grant-tables 选项,然后重启 MySQL 服务:

sudo service mysql stop
sudo service mysql start


四,通过上面我们已经可以正常修改代码了,如果修改不成功可以尝试以下方式:


以上步骤需要关闭数据库

mysqld_safe 语法介绍
--skip-grant-tables #跳过授权表
--skip-networking #跳过远程登录
示例:
mysqld_safe --skip-grant-tables --skip-networking & 

重启服务之后,你就可以使用新密码登录了。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
28天前
|
关系型数据库 MySQL 数据库
win10mysql搭建与重置密码
win10mysql搭建与重置密码
16 0
|
2月前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL忘记密码后重置密码
MySQL忘记密码后重置密码
22 0
|
2月前
|
关系型数据库 MySQL 开发工具
Mysql 忘记密码怎么重置密码(详细步骤)
Mysql 忘记密码怎么重置密码(详细步骤)
178 0
|
8月前
|
关系型数据库 MySQL 数据安全/隐私保护
mysql重置密码
mysql重置密码
|
8月前
|
关系型数据库 MySQL Linux
linux下mysql 8.0忘记密码后重置密码
linux下mysql 8.0忘记密码后重置密码
|
11月前
|
关系型数据库 MySQL 数据库
Mysql修改与重置密码
Mysql修改与重置密码
127 0
|
11月前
|
关系型数据库 MySQL 开发工具
Mysql 忘记密码怎么重置密码(详细步骤)
Mysql 忘记密码怎么重置密码(详细步骤)
729 0
|
关系型数据库 MySQL 数据安全/隐私保护
mysql解决:当你要重置密码时报错Your password does not satisfy the current policy requirements
mysql解决:当你要重置密码时报错Your password does not satisfy the current policy requirements
100 0
|
关系型数据库 MySQL 数据库
mysql 5.7 重置密码
mysql 5.7 重置密码
124 0
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL5.7密码忘记,重置密码
MySQL5.7密码忘记,重置密码
137 0