Mysql修改用户密码命令mysql忘记密码怎么办

记得有一次,我在公司加班,半夜数据库突然连接不上,说密码错误。
经过一段时间的挣扎,我发现我在换系统的时候把root密码改了,甚至忘记了。
看着屏幕上MySQL的错误信息,我的手心出汗了。
然后我想起了以前见过的一些密码重置方法,所以我很快重新启动了服务器,并使用命令行启动了绕过权限验证的MySQL进程。
然后创建一个新窗口并连接到它,将密码更改为 1 2 3 并删除权限。
整个过程不到五分钟,数据库就可以再次使用了。
但现在我想,如果有更简单的办法,比如直接重装系统就好了?等等,重装系统太复杂,会丢失所有数据。

mysql怎么重置密码

上周,有客户问我如何重置MySQL密码,我详细地给他解释了。
其实这有两种情况,一种是记住原密码,另一种是忘记了。

首先,我们来谈谈记住密码。
您必须首先连接到数据库。
这很简单。
在命令行输入mysql -u root -p并回车。
系统会要求您输入当前密码。
输入正确后就可以登录了,然后需要切换到系统数据库,输入use mysql;这样就可以看到user表,里面存储了用户的认证信息。

然后您可以更改密码。
输入命令 update user setauthentication_string=PASSWORD('新密码') where user='root';。
注意这里的PASSWORD('新密码')是加密后的密码。
不过,我必须提醒你,MySQL 5 .7 及更高版本使用champuthentication_string来替换旧版本的密码字段,因此你需要根据你的MySQL版本进行调整。

更改密码后,记得刷新权限,输入FLUSH PRIVILEGES;。
最后一步是重新启动 MySQL 服务。
您可以通过系统服务管理工具(如services.msc)重新启动它或使用命令行net stop mysql然后net start mysql。

接下来是忘记密码的情况。
首先,您需要停止MySQL服务。
您可以通过 services.msc 找到 MySQL 服务并将其停止,或者使用 net stop mysql 命令。
然后需要跳过启动MySQL的权限检查,输入mysqld --skip-grant-tables 这样就可以不用密码登录了。

然后需要在另一个命令行窗口连接MySQL,输入mysql -u root,然后使用mysql;切换到系统数据库,然后运行命令更改用户更新密码 setidentifier_string=PASSWORD('新密码') where user='root';更新 FLUSH PRIVILEGES 权限;。

更改密码后,记得关闭所有MySQL相关的命令行窗口,通过任务管理器终止mysqld进程,然后重新启动MySQL服务。

重点是MySQL 8 .0及以上版本建议使用 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';更改密码而不是直接修改用户表。
在操作之前,最好先备份MySQL数据库,以防万一。
如果使用--skip-grant-tables后仍然无法登录,这可能是受到其他安全插件(例如caching_sha2 _password)的影响。
在这种情况下,您可能需要额外的配置。

无论如何,这取决于你。
这些步骤相对常见,不会造成任何问题。
我还在考虑中,如果还有其他问题,请随时问我。

教你在phpMyadmin修改mysql的用户名和密码

说实话,我之前并不太理解这一步,但我尝试了以下操作...
登录 phpMyAdmin: 打开浏览器并输入 localhost:8 08 0/phpmyadmin 并转到登录页面。
默认帐户是root,密码是1 2 3 4 5 6 这是老规则了。

用户管理页面:进入后,点击“用户”选项卡可以查看所有用户。

编辑用户权限:在列表中找到要更改的用户,例如root,然后单击旁边的“编辑权限”。

更改您的密码:在新页面上,向下滚动到“更改您的密码”部分。
在“密码”框中输入您的新密码,然后在下面的“重新输入”框中重新输入。
只需单击“运行”即可。

修改用户名(可选):要更改您的用户名,请向下滚动到“编辑登录信息/复制用户”部分。
请输入您的新用户名和新密码。
确认并点击“运行”。

确认更改:更改后,请先退出,不要再次登录。
请使用新的用户名和密码重试是否可以登录。
如果可以登录,则说明已更改。

注意:更改用户名和密码后,任何使用数据库的应用程序(例如网站)都需要相应更改其配置。
否则你将无法连接。
最好在进行任何更改之前备份数据,以便在出现问题时可以恢复数据。