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('shapolang');
上面例子将用户root的密码更改为shapolang;
重新登录,输入新密码shapolang就ok了;
方法2 :用mysqladmin
- 打开终端
win+r
输入cmd回车即可打开; - 修改MySQL的root用户密码格式:
mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -pshapolang password 123456
上面例子将用户root原来的密码shapolang改为新密码123456
重新登录,输入新密码123456就ok了;
方法3 :用UPDATE直接编辑user表
- 首先登录MySQL。
- 连接权限数据库:use mysql; 。
- 改密码:
update user set password=password("shapolang") where user="root";
(别忘了最后加分号) 。 - 刷新权限(必须步骤):
flush privileges;
重新登录,输入新密码shapolang就ok了;
方法4 :忘记root密码
- 关闭正在运行的MySQL服务。
- 打开DOS窗口,转到mysql\bin目录。
- 输入
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。
重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;