博主时隔多月打开MySQL发现自己竟忘记连接密码,火速百度一堆“MySQL忘记密码怎么办”“如何重置MySQL密码”,在遭遇一些坑后终于修改成功,这里记录改密方法和一些注意点。博主是window10系统,数据库是MySQL8.0.11,以下前提是已经在系统环境中配置过MySQL路径。
停止MySQL服务
以管理员身份打开命令提示符,输入net stop mysql
,回车,停止MySQL服务。
实现无密码登录
接着在命令行输入mysqld --console --skip-grant-tables --shared-memory
,回车,如果运行后最后一行出现“Plugin mysqlx reported:‘All I/O interfaces are disabled, X Protocol won’t be accessible’”字样,说明运行成功。
再另外开一个命令提示符窗口,输入mysql -u root
,回车,如果最后一行显示“mysql>”说明无密码登录成功,后续可以输入sql语句。
清空原有密码
继上面能输入SQL语句,那就在mysql>后输入UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
authentication_string设置为空值,语句结束不要忘了加分号
回车,显示“Query OK”则运行成功。
无密码登录
关闭前面打开的两个窗口,再用管理员身份打开一个命令提示符,输入net start mysql
启动服务,输入mysql -u root
无密码登录。
重置密码
上面无密码登录成功后,输入alter user root@localhost identified by 'root';
引号里的‘root’是我设置的密码,也可以改成其他的。依旧不要忘了语句最后的分号。运行显示“Query OK”就成功了。
检验新密码登录
继上面的操作后,输入exit
可以退出mysql,然后再用新密码登录试试。
输入mysql -u root -p
,回车后会提示你输入密码Enter password,输入新密码后回车,看见“Welcome”就表明登录成功啦!