普通用户的密码丢失
- 1、用 root 账户登录
- 2、手动修改 mysql.user 表中的密码
update mysql.user set authentication_string = password('新密码')
where user = 'xxx' ;
重启数据库
mysql.user 表常见的字段
- host: 设置连接数据库的主机,如果不限制连接,则设置为 %
- user: 账户名
- authentication_string : 密码
- password_expired : 密码是否有过期时间
- password_lifetime : 如果 password_expired是 Y, 则 password_lifetime 有效
- account_locked : 账户是否被锁
-- 对账户上锁
alter user 'xxx'@'%' account lock ;
-- 解锁
alter user xxx@'%' account unlock ;
修改当前账户的密码 (密码未丢失,正常登录)
set password = password('新密码');
超级管理员root账户密码丢失
1. 关闭mysql服务器
net stop mysql
2. 打开命令提示符,输入 mysqld命令 (配置环境变量)
mysqld -nt --skip-grant-tables (启动MySQL服务)
3. 新打开一个 命令窗口 ,输入 mysql -uroot -p 回车即可
4. 通过 update 手动修改密码
update mysql.user set authentication_string = password('新密码')
where user = 'root' ;
5. 关闭 第二步 开启的 MySQL服务
a) 关闭 命令提示符
b) 打开 任务管理器 (CTRL +Shift + ESC) 在进程中结束 mysqld.exe 服务
6. 打开命令窗口,正常启动 mysql服务器即可
net start mysql