MySQL是一个关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。搭配 PHP 和 Apache 可组成良好的开发环境。因此用的很广泛。很多人都会遇到MySQL需要修改密码的情况,比如密码太简单、忘记密码等等。这里我就教大家几种修改MySQL密码的方法。这里以修改root密码为例,操作系统为windows。
注意:修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。
1 用SET PASSWORD命令
- 打开终端win+r,输入cmd回车即可打开;
- 通过mysql -u用户名 -p指定root用户登录MySQL,输入后回车会提示输入密码。
- 修改MySQL的root用户密码,格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('root'); 上面例子将用户root的密码更改为root ;
- 重新登录,输入新密码root就ok了;
2 用mysqladmin
- 打开终端win+r输入cmd回车即可打开;
- 修改MySQL的root用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123; password 123
上面例子将用户root原来的密码123;改为新密码123
重新登录,输入新密码123就ok了;
3 用UPDATE直接编辑user表
- 首先登录MySQL。
- 连接权限数据库: use mysql; 。
- 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
- 刷新权限(必须步骤):flush privileges;
重新登录,输入新密码root就ok了;
4 忘记root密码情况
- 关闭正在运行的MySQL服务。
- 打开DOS窗口,转到mysqlin目录。
- 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
- 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。
- 连接权限数据库: use mysql; 。
- 改密码:update user set password=password("root") where user="root";(别忘了最后加分号) 。
- 刷新权限(必须步骤):flush privileges; 。
- 退出 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了;