如何在MySQL 8中重置root密码
MySQL中的用户密码存储在用户表中,密码重置实际上是改变该表中记录的值。 要在忘记密码的情况下更改密码,我们的想法是绕过MySQL的身份验证进入系统并使用SQL命令更新记录密码值。 在MySQL 5中,可以使用--skip-grant-tables选项启动MySQL服务,此选项将告诉服务在启动时跳过加载授权表,因此root用户可以使用空密码登录。
登录后,可以在SQL命令下运行更改密码
这会将密码设置为空。 但是,如果没有在MySQL 8中进行一些调整,似乎--skip-grant-tables无法正常工作。那么我们可以做些什么呢? 有两种可能的选择。 创建一个--init-file.并使用选项--init-file运行MySQL服务。 在init文件中,输入要更新密码值的SQL命令。 深入研究如何在MySQL 8中使用--skip-grant-tables。 我们来看看这些选项的工作原理。 选项1: --init-file option 此选项将指定包含要在服务启动之前执行的SQL命令的文件。 因此,我们只需要使用命令更新此文件中的密码并使用此选项启动MySQL服务。 密码将被重置/更新。 第1步:停止MySQL服务
步骤2:创建一个txt文件,并将下面的命令放入 ALTER USER 'root'@'localhost' IDENTIFIED BY ''; 步骤3:在命令行上启动服务,并使用--init-file选项
完成。 注意:当您遇到权限被拒绝的错误时,请以特权用户身份运行该命令。 如果你看到如下错误:
请运行以下命令初始化数据目录
选项2:使用--skip-grant-tables选项 与MySQL 5相比,MySQL 8中还需要添加更多选项。
启动服务后,使用空密码登录
然后执行SQL命令更新密码
通常建议选项1。 并希望本文对你有所帮助。 Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx 本文永久更新链接地址:https://www.linuxidc.com/Linux/2018-12/156052.htm 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |