MySQL 8.0以上版本修正ROOT密码步骤

PDF格式 | 338KB | 更新于2023-05-04 | 155 浏览量 | 22 下载量 举报
收藏
"该资源主要讲述了在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密码的过程中,如果遇到任何困难,可以参考相关文章或者在线文档以获取更多帮助。记得在进行此类操作时,确保备份数据,以免造成不必要的数据丢失。

相关推荐

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部