mysql忘记密码怎么修改密码

2 02 3 年,我的朋友遇到了忘记MySQL root密码的问题。
他尝试了四种方法:
方法一:登录MySQL后直接使用SETPASSWORD命令设置新密码。
示例:mysql>setpasswordforroot@localhost=password('1 2 3 ');
方法二:使用mysqladmin;用户名 输入旧密码和新密码。
示例:mysqladmin-uroot-p1 2 3 4 5 6 password1 2 3 ;
方法三:直接编辑用户表,设置新密码。
示例:mysql>usemysql; mysql>updateusersetpassword=password('1 2 3 ')whereuser='root'andhost='localhost'; mysql>flushprivileges;
方法四:当你忘记密码时;首先,停止MySQL服务;然后启动服务,不进行授权表认证;然后更改root密码,重置权限;最后退出并重新登录。

最后他使用方法4 ,成功设置了新密码。
但他说手术有点复杂,他自己能搞定。

mysql忘记密码了怎么解决

哎呀,这个MySQL忘记密码的问题,我已经帮人解决过很多次了。
首先,您需要找到配置文件。
在Windows系统中,默认放置在路径C:\ProgramData\MySQL\MySQL Server 5 .7 下。
请注意,ProgramData 是一个隐藏文件夹,您需要先显示它。
然后,使用文本编辑器打开 my.ini 文件并在 [mysqld] 部分下添加skip-grant-tables 行。
这使得MySQL可以跳过密码验证,无需密码即可登录。

接下来,您需要重新启动MySQL服务。
可以使用命令行输入“net stop mysql”和“net start mysql”,或者进入“控制面板-管理工具-服务”找到MySQL服务并手动重启。
重启后,MySQL不再关心密码。

接下来就可以不用密码登录MySQL了。
在命令行中输入“mysql -u root -p”,然后回车,继续按回车键,无需输入密码。
然后,进入MySQL命令行,运行“use mysql;”选择系统数据库,然后更新密码。
请记住,在MySQL 5 .7 版本中,密码字段从password更改为authentication_string,因此您需要使用此命令:“update user setauthentication_string=password('new-password') where user='root';”不要使用“update user set”Password=password('new-password')...”,如果使用,会报错,错误信息为“ERROR 1 05 4 (4 2 S2 2 ): Unknown column 'Password' in 'field list'”,因为字段名已更改。

获取密码后,不要忘记恢复配置行,退出MySQL命令行,退出命令行,退出MySQL命令行my.ini,保存然后重启MySQL服务,照旧操作,最好在非高峰期操作,并提前通知相关人员,以免影响业务。

mysql怎么重置密码

说实话,重置MySQL密码的步骤可以分为两种情况。
一种是您记住了旧密码,想要更改为新密码,另一种是您完全忘记了密码,需要重置。

如果您记得旧密码,请将其更改为新密码。
步骤如下: 1 、先连接数据库。
在命令行中输入 mysql -u root -p,按 Enter 键并输入当前密码。
2 、登录后需要切换到MySQL自带的系统数据库。
类型使用mysql;并按 Enter 键。
这个库中有一个用户表,里面存储了用户的认证信息。
3 .然后更改密码。
键入 update user setauthentication_string=PASSWORD('新密码') where user='root';。
注意! MySQL 5 .7 及更高版本使用authentication_string 字段。
旧版本使用密码。
这取决于版本。
4 . 更改后,需要重新加载权限。
点击刷新权限;。
5 .最后,重新启动MySQL服务。
要么转到系统服务管理工具(例如Windows services.msc),将其停止然后打开,或者在命令行中键入net stop mysql,然后键入net start mysql。

如果您完全忘记了密码,重置步骤会稍微麻烦一些: 1 .先停止MySQL服务。
使用services.msc查看MySQL服务是否停止,或者在命令行输入net stop mysql。
2 . 然后以特殊模式启动。
在命令行输入mysqld --skip-grant-tables,这样启动后就可以不用密码进入数据库了。
3 、再打开一个命令行窗口,输入mysql -u root直接登录(此时不需要密码)。
4 、登录后,切换到mysql数据库,输入use mysql;。
5 . 以相同的方式更改密码,然后键入 update user setauthentication_string=PASSWORD('newpassword') where user='root';。
6 . 要刷新权限,请键入 FLUSH PRIVILEGES;。
7 . 关闭所有 MySQL 命令行窗口并转到任务管理器终止 mysqld 进程。
最后重启MySQL服务,使用net start mysql或者服务管理工具。

但是,对于 MySQL 8 .0 或更高版本,建议使用 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';而不是直接更改用户表。
另外,在操作之前最好对mysql数据库进行备份。
如果你犯了错误而失去了许可,你就会有麻烦。
另外,如果使用 --skip-grant-tables 后仍然无法登录,您应该查看是否有另一个插件(例如 caching_sha2 _password)导致了问题。
您可能需要配置其他的。