MySQL 8.0以上版本修正ROOT密码步骤
PDF格式 | 338KB |
更新于2023-05-04
| 155 浏览量 | 举报
"该资源主要讲述了在MySQL 8.0及以上版本中,如何正确地修改ROOT用户的密码,尤其是在遇到无法通过常规方式登录以及权限问题时的解决步骤。"
在MySQL 8.0及以上版本中,由于增加了更严格的密码策略,直接修改ROOT密码可能会遇到一些挑战。以下是针对这种情况的详细解决步骤:
1. **开启skip-grant-tables**:
- 首先,你需要编辑`/etc/my.cnf`配置文件,添加`[mysql]`段,并在其中加入`skip-grant-tables`。这将允许你跳过权限检查,直接登录MySQL服务器。
```
# vim /etc/my.cnf
[mysql]
skip-grant-tables
```
2. **停止并启动MySQL服务**:
- 使用以下命令停止MySQL服务:
```
# systemctl stop mysqld.service
```
- 然后启动MySQL服务,此时会忽略权限检查:
```
# systemctl start mysqld.service
```
3. **登录MySQL**:
- 不需要密码,你可以直接使用`mysql -u root`命令登录MySQL。
4. **刷新权限**:
- 登录后,执行`flush privileges;`命令,确保权限表是最新的。
5. **尝试修改ROOT密码**:
- 在MySQL命令行中,尝试使用`alter user`命令修改ROOT密码,如:
```
mysql> alter user 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
```
- 如果遇到错误1819或1396,表示新密码不符合策略要求(需要包含大小写字母、数字和特殊符号)。
6. **遵循密码策略**:
- 根据错误提示,你需要提供一个符合当前策略的密码,例如`MyNewPass@123`。
7. **修改用户**:
- 使用满足策略的密码尝试再次修改ROOT用户,例如:
```
mysql> alter user 'root'@'%' IDENTIFIED BY 'MyNewPass@123';
```
8. **恢复权限系统**:
- 一旦密码成功修改,你需要从`/etc/my.cnf`中删除`skip-grant-tables`,然后重启MySQL服务以恢复正常权限检查。
```
# vi /etc/my.cnf
# systemctl restart mysqld.service
```
9. **验证密码**:
- 重新启动MySQL服务后,使用新的ROOT密码尝试登录,确保一切正常。
在MySQL 8.0及以上版本中,密码策略的改变是为了提高系统的安全性。因此,当遇到无法登录或者修改密码的问题时,必须遵循这些策略来设置新的密码。同时,注意在修改密码后及时恢复正常的权限系统,避免系统安全受到影响。
在修改ROOT密码的过程中,如果遇到任何困难,可以参考相关文章或者在线文档以获取更多帮助。记得在进行此类操作时,确保备份数据,以免造成不必要的数据丢失。
相关推荐










weixin_38733414
- 粉丝: 11
最新资源
- s3c2440开发板上ucos-ii系统触摸屏驱动的实现
- Prakarsh Gupta:学生开发者的产品组合展示
- Python制作豆瓣250高分电影网页教程
- Lagrange二次插值与Newton插值的数值计算代码实践
- GHOST远控0611免杀版技术分析与防范
- 利用GPS广播星历计算精确卫星坐标方法
- 欧美风扁平化PPT图表模板下载
- 解决WebSphere CPU性能瓶颈的分析与对策
- 微信小程序实现音乐播放功能
- Vite沙盒环境的搭建与应用
- 多速率数据采集与处理系统设计实现分析
- GIS基础知识与前沿问题全面解析
- Visual Studio 2010小番茄补丁的实践体验
- 揭秘OCP官方培训:珍贵资源下载指南
- Websphere平台迁移实施指南
- FlappyBird源码及素材下载:含游戏图像、音效及自编FlappyCopter