MySQL 5.7 重置root用户密码
注:MySQL 8.0 以上版本,请移步:MySQL 8.0 以上版本正确修改 root 密码
-
cmd 切换到 mysql\bin 目录下执行下面语句,用于跳过用户验证访问数据库(注:如果本机有正在运行的mysql的服务需要先停掉)
mysql\bin>mysqld --skip-grant-tables
-
打开另外一个cmd,切换到 mysql\bin 目录下执行 mysql 访问数据库
mysql\bin>mysql
-
访问名为mysql的数据库
mysql> use mysql Database changed
-
查询 user 表中已有的用户(非必要)
mysql>SELECT Host,User,Password FROM User;
mysql 5.7版本 user 表中不再有 password 字段,改为 authentication_string ,即
mysql>SELECT Host,User,authentication_string FROM User;
-
如果要更改现有用户的密码,例如 root@localhost
mysql>UPDATE user SET Password=PASSWORD('newPassword') WHERE User='root' AND Host='localhost';
同样,mysql 5.7版本之后要改成 authentication_string ,即
mysql>UPDATE user SET authentication_string=PASSWORD('newPassword') WHERE User='root' AND Host='localhost';
-
执行flush privileges;
mysql>flush privileges;
更改完成