MySQL 5.7 重置root用户密码

MySQL 5.7 重置root用户密码

注:MySQL 8.0 以上版本,请移步:MySQL 8.0 以上版本正确修改 root 密码

  1. cmd 切换到 mysql\bin 目录下执行下面语句,用于跳过用户验证访问数据库(注:如果本机有正在运行的mysql的服务需要先停掉)

     mysql\bin>mysqld --skip-grant-tables
    
  2. 打开另外一个cmd,切换到 mysql\bin 目录下执行 mysql 访问数据库

     mysql\bin>mysql
    
  3. 访问名为mysql的数据库

     mysql> use mysql
     Database changed
    
  4. 查询 user 表中已有的用户(非必要)

     mysql>SELECT Host,User,Password FROM User;
    

    mysql 5.7版本 user 表中不再有 password 字段,改为 authentication_string ,即

     mysql>SELECT Host,User,authentication_string FROM User;
    
  5. 如果要更改现有用户的密码,例如 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';
    
  6. 执行flush privileges;

     mysql>flush privileges;
    

更改完成

猜你喜欢

转载自my.oschina.net/u/3251146/blog/2872407