MySQL 5.7修改忘记root密码

MySQL5.7重置root密码
本文介绍如何在MySQL5.7中重置root用户的密码。通过禁用权限表并直接更新user表中的authentication_string字段来实现。适用于忘记密码的情况。
MySQL 5.7 mysql库的user表中已经不再有password字段,取而代之的为authentication_string
修改语法相同,步骤也相同。
注意:
/etc/my.cnf这个配置文件中,
basedir、datadir这两个参数的指向,如果指向错误,mysqld_safe --skip-grant-tables启动没有mysql库。

[mysql@guoqing ~]$ service mysqld stop    #停止mysql服务


[mysql@guoqing ~]$ mysqld_safe --skip-grant-tables &  #以不启用grant-tables模式启动mysql


[mysql@guoqing ~]$ mysql -uroot -p -h127.0.0.1 #输入命令回车进入,出现输入密码提示直接回车。


mysql>update mysql.user set authentication_string= password ('guo') WHERE User='root'; #更改密码为 guo


mysql>flush privileges; #更新权限
mysql>quit #退出
service mysql start
重新登录即可使用新密码。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24742969/viewspace-2016482/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24742969/viewspace-2016482/

<think> 首先,用户的问题是基于之前的引用材料,这些引用是关于在Windows系统下忘记MySQL 5.7 root密码的解决方案。我要参考这些引用来提供一个清晰的解决方案。引用内容如下: - 引用[1]:包括关闭MySQL服务、修改my.ini文件添加skip-grant-tables、重启服务、登录MySQL并重置密码等步骤。 - 引用[2]:提到在Windows下修改root密码的暴力方法。 - 引用[3]:显示一个错误场景,但没有具体步骤。 - 引用[4]:给出了具体的SQL命令重置密码用户的问题明确是:“我想查找在Windows系统下忘记MySQL 5.7数据库root密码的解决方案 请问Windows系统下忘记MySQL 5.7数据库root密码的解决办法”,所以我要综合这些引用提供步骤。 系统级指令要求: - 所有行内数学表达式必须使用$...$格式,但在这个上下文中,可能没有数学表达式,所以我可以忽略或确保如果有的话正确格式化。 - 独立公式用$$...$$,同样,这里可能没有。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题:在结束时,添加相关问题部分。 - 回答中引用的段落末尾自然地添加引用标识:[^n]。 用户可见层要求:回答结构清晰,逐步解决问题,保证真实可靠。 结构化回答:我应该提供一步一步的解决方案,基于引用材料。确保引用正确。 关键步骤从引用[1]: 1. 关闭MySQL服务。 2. 修改my.ini文件,添加skip-grant-tables。 3. 重启MySQL服务。 4. 登录MySQL(不密码)。 5. 运行SQL命令更新密码。 6. 移除skip-grant-tables,关闭服务,修改文件,重启服务。 引用[4]提供了具体的SQL命令:update mysql.user set authentication_string=password('新密码') where user='root' and Host='localhost'; 在MySQL 5.7中,密码存储在authentication_string字段中。 确保步骤完整: 1. 关闭MySQL服务:通过任务管理器或命令行。 2. 找到my.ini文件(通常在MySQL安装目录下)。 3. 添加skip-grant-tables到[mysqld]部分。 4. 保存文件并重启MySQL服务。 5. 打开命令行,切换到MySQL bin目录(如果要),登录MySQLmysql -u root 6. 运行SQL:use mysql; 然后更新密码7. 退出MySQL。 8. 关闭MySQL服务,移除skip-grant-tables,保存my.ini文件。 9. 重启MySQL服务,并使用新密码登录。 添加引用标识:当引用具体步骤时,添加[^1], [^4]等。 相关问题:在结束时生成相关问题,基于主题。 相关问题示例: 1. 如何在Linux系统下重置MySQL root密码? 2. MySQL 8.0密码重置方法有什么不同? 3. 如何防止忘记密码的情况发生? 使用中文回答。 最终回答结构: - 简明介绍问题。 - 步骤序列,清晰编号。 - 结束时添加相关问题部分。 </think> ### Windows系统下忘记MySQL 5.7 root密码的解决方案 在Windows系统下,如果您忘记MySQL 5.7root密码,可以通过以下步骤重置密码。该方法基于修改配置文件以跳过密码验证,然后通过SQL命令更新密码。整个过程分为几个主要阶段:关闭MySQL服务、修改配置文件、重启服务并登录、重置密码,最后恢复配置。请确保以管理员身份操作,以避免权限问题。以下是详细步骤(参考自相关引用资料[^1][^4])。 #### 步骤详解 1. **关闭MySQL服务**: 确保MySQL服务已停止。如果服务正在运行,要手动关闭: - 按下`Win + R`键,输入`services.msc`打开服务管理器。 - 在列表中找到`MySQL`或`MySQL57`服务(具体名称可能因安装版本而异)。 - 右键选择“停止”以关闭服务。如果服务已停止,可跳过此步[^1]。 2. **修改MySQL配置文件**(my.ini): 配置文件`my.ini`通常位于MySQL安装目录下(例如`C:\Program Files\MySQL\MySQL Server 5.7\`)。 - 用记事本或其他文本编辑器打开`my.ini`文件。 - 在`[mysqld]`部分添加一行: ``` skip-grant-tables ``` 此设置允许跳过密码验证。 - 保存文件并关闭编辑器[^1][^4]。 3. **重启MySQL服务并登录MySQL**: - 返回服务管理器,重新启动MySQL服务(右键选择“启动”)。 - 打开命令提示符:按下`Win + R`,输入`cmd`并按Enter。 - 切换到MySQL的`bin`目录(例如`cd C:\Program Files\MySQL\MySQL Server 5.7\bin`)。 - 输入以下命令登录MySQL(无密码): ``` mysql -u root ``` 成功登录后,命令行提示符变为`mysql>`[^1][^4]。 4. **重置root密码**: 在MySQL命令行中,执行以下SQL命令更新密码(将`新密码`替换为您自定义的新密码): ```sql USE mysql; UPDATE user SET authentication_string=password('新密码') WHERE user='root' AND host='localhost'; FLUSH PRIVILEGES; EXIT; ``` 这一步使用`authentication_string`字段存储密码,这是MySQL 5.7的特性。确保密码强度足够(例如大写字母+数字+符号)[^4]。 5. **恢复配置文件并重启服务**: - 退出MySQL后,关闭命令提示符。 - 停止MySQL服务(重复步骤1)。 - 再次打开`my.ini`文件,删除之前添加的`skip-grant-tables`行。 - 保存文件并重启MySQL服务。 - 现在,您可以使用新密码登录:在命令提示符中运行`mysql -u root -p`,输入新密码确认[^1]。 #### 注意事项 - **安全风险**:此方法涉及跳过密码验证,仅应在本地测试或紧急情况下使用。完成后,确保MySQL服务安全运行。 - **兼容性**:本方案针对MySQL 5.7版本。如果使用其他版本(如MySQL 8.0),步骤可能不同(例如密码字段为`authentication_string`,但命令调整)[^4]。 - **备份建议**:操作前备份`my.ini`文件,以防配置错误。 - **常见问题**:如果登录失败,检查服务名称是否正确(如`MySQL57`),或确保命令在`bin`目录运行[^3]。 通过以上步骤,您应该能成功重置root密码。如果仍有问题,可参考官方文档或社区论坛。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值