MySQL是一个关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。搭配 PHP 和 Apache 可组成良好的开发环境。因此用的很广泛。很多人都会遇到MySQL需要修改密码的情况,比如密码太简单、忘记密码等等。这里我就教大家几种修改MySQL密码的方法。这里以修改root密码为例,操作系统为windows。

注意:修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。

1 ​用SET PASSWORD命令

  1. 打开终端win+r,输入cmd回车即可打开;
  2. 通过mysql -u用户名 -p指定root用户登录MySQL,输入后回车会提示输入密码。
  3. 修改MySQL的root用户密码,格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('root'); 上面例子将用户root的密码更改为root ;
  4. 重新登录,输入新密码root就ok了;

Windows修改MySQL用户root密码_windows

2 用mysqladmin

  1. 打开终端win+r输入cmd回车即可打开;
  2. 修改MySQL的root用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123; password 123

上面例子将用户root原来的密码123;改为新密码123

重新登录,输入新密码123就ok了;

Windows修改MySQL用户root密码_windows_02

 

3 用UPDATE直接编辑user表

  1. 首先登录MySQL。
  2. 连接权限数据库: use mysql; 。
  3. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。 
  4. 刷新权限(必须步骤):flush privileges;

Windows修改MySQL用户root密码_mysql_03

重新登录,输入新密码root就ok了;

4 忘记root密码情况

  1. 关闭正在运行的MySQL服务。
  2. 打开DOS窗口,转到mysql\bin目录。
  3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
  4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
  5. 连接权限数据库: use mysql; 。
  6. 改密码:update user set password=password("root") where user="root";(别忘了最后加分号) 。
  7. 刷新权限(必须步骤):flush privileges; 。
  8. 退出  quit。

第三步,MYSQL8.0 要输入 mysqld --console --skip-grant-tables --shared-memory 才可以

第六步,如果Mysql的版本是5.7及以上的话update语句要改为为:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Mysql123'; (mysql8.0以上密码策略限制必须要大小写加数字特殊符号)

重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;

Windows修改MySQL用户root密码_mysql_04

Windows修改MySQL用户root密码_mysql_05