一个月前刚安装的mysql,版本是8.0.26 for Win64.今天使用发现密码错误,在网上找密码修改,按照操作步骤执行各种报错,综合多个版本、错误解决方案,整理最新mysql的密码重置步骤如下:
1、以管理员的身份进入cmd,然后进入mysql安装目录下的bin文件夹
2、 停止mysql服务:net stop mysql
3、执行 mysqld --console --skip-grant-tables --shared-memory ,实测 mysqld –skip-grant-tables 在mysql8.0中已失效。
mysqld --console --skip-grant-tables --shared-memory
4、新开一个cmd界面进入mysql的bin文件夹,执行mysql
5、执行 use mysql ,选择数据库(可能不需要这一步,实际操作中我执行了所以保留)。
6、关键点:修改密码使用 alter user 'root'@'localhost' identified by '123456'; 如果出现报错 The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement。需要刷新权限后 flush privileges;在执行密码修改命令。
alter user 'root'@'localhost' identified by '123456';
7、退出quit
8、修改 root 密码后,需要执行下面的语句和新修改的密码。不然开启 mysql 时会出错。
mysqladmin -u root -p shutdown
ps:mysql5.7.6版本后 废弃user表中 password字段 和 password()方法