MySQL忘记root用户密码

本文详细介绍了如何在忘记MySQL root密码时,通过一系列步骤重置密码。首先,需关闭MySQL服务,再以跳过权限检查的方式启动,然后更新mysql.users表中root用户的密码,最后重启MySQL服务并使用新密码登录。

Step1:关闭MySQL服务(直接使用命令前提是将mysql下的bin目录加入path否者命令需要cd到mysql安装目录下的bin中执行)

命令:net stop mysql(或手动关闭mysql服务)

Step2:cmd窗口执行命令 mysqld –skip-grant-tables(启动mysql服务并跳过用户权限检查)启动后关不掉

 

Step3:重新打开一个cmd命令窗口执行:mysql

 

Step4:执行SQL语句

update mysql.user set  authentication_string=password('你的新密码') where user=’root’;

此语句为更改root用户的登录密码

原理(mysql.user表中储存了用户、用户密码等信息,密码存在 authentication_string字段中)

然后\q退出

Step5:关闭step1启动的mysql服务

命令:netstat -nao |find "3306"找到进程pid

 

然后关闭找到的进程id:

命令:taskkill -f -pid 2800 关闭进程

 Step6:启动mysql服务,使用Step4中设置的新密码登录mysql便可。

### 如何重置 MySQL root 用户密码 #### 停止 MySQL 服务 为了安全起见,在执行密码重置操作之前,应当先停止正在运行的 MySQL 服务。这一步骤能够防止其他会话干扰到即将进行的操作。 对于大多数 Linux 发行版而言,可以通过如下命令实现: ```bash sudo systemctl stop mysqld ``` 而在 Windows 上,则可通过服务管理器或者命令提示符来进行此操作[^3]。 #### 启动 MySQL 安全模式 接着以跳过权限表的方式来启动 MySQL 数据库实例,从而绕开现有认证机制: Linux 下可使用以下指令: ```bash sudo mysqld_safe --skip-grant-tables & ``` 针对 Windows 平台,建议通过命令行工具完成相同目的: ```cmd net start mysql --skip-grant-tables ``` 此时 MySQL 将不再验证用户的访问凭证直至恢复正常工作状态为止[^1]。 #### 登录 MySQL 控制台并更改 Root 密码 一旦成功进入无授权校验的状态下之后就可以直接利用 `mysql` 客户端程序连接至本地主机上的数据库引擎而无需提供任何凭据信息了。 随后依照下列 SQL 语句格式去修改超级管理员账户(`root`)关联的身份验证字符串字段值即完成了新旧密钥更替过程: ```sql UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES; quit ``` 请注意将上述脚本里的 `'new_password'` 替换成实际期望设定的新密码[^2]。 #### 恢复正常的服务运作方式 最后重启 MySQL 来使刚才所做的变更生效,并确保一切功能都已恢复常态化运转水平之上。 再次强调一遍适用于不同操作系统平台的具体做法分别是: - **Linux**: 使用 `systemctl restart mysqld` - **Windows**: 利用 “服务” 应用程序或是发出相应命令 `net stop mysql && net start mysql` 如此这般便实现了对丢失掉的 MySQL `root` 用户名下的默认登陆口令的有效寻回与更新处理流程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值