如何修改MySQL数据库密码


时间久了,忘记数据库密码了。。。。。

一、忘记数据库密码该如何修改

1. 关闭数据库的服务

# 基于windows环境
net stop mysql
#基于linux环境
service mysql stop

#注意:服务名称是否mysql,如果有修改过,请使用修改过的服务名称。
#比如:我的windows,安装了两个版本的mysql
#需要使用 net stop MySQLServer-V5.7.20

在这里插入图片描述

2.跳过安全检查

使用命令,跳过安全检查,以便使用root无密码登录mysql

#1.切换到安装目录bin下
cd F:\mysql\install_file\bin\
#2.跳过安全检查
.\mysqld.exe --defaults-file=F:\mysql\data\my.ini --skip-grant-tables

在这里插入图片描述

注意:执行该命令后,不需要终结该命令的执行,即不要关闭该窗口

3. 重置密码

在另一个窗口进行密码的重置

#无密码,登录root用户
mysql -u -root

执行SQL,修改密码

USE mysql;
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

如果成功,即修改密码完成。
如果出现一下错误:
在这里插入图片描述
代表密码修改失败

4.查询用户是否存在

如果用户不存在,则需要创建该用户,如果用户存在,则更换修改密码的SQL,重新修改

SELECT User, Host, authentication_string, plugin  FROM mysql.user WHERE User = 'root';

更换修改密码的SQL

#如果存在root用户,则使用修改用户命令。注意:host是localhost,还是%,或者是其他
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root' AND Host='%';
FLUSH PRIVILEGES;

#如果不存在root用户
CREATE USER 'root'@'%' IDENTIFIED BY '新密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

注意1:先查询一下root用户,如果你的root用户host是 %,你修改的则是 'root'@'%' 或者是 host='%'
注意2:别忘了刷新权限

在这里插入图片描述

5.退出验证密码是否正确

  1. 退出mysql,关闭之前跳过安全检验的窗口。
  2. 启动mysql。
  3. 使用链接工具mysql,使用新密码登录
    在这里插入图片描述

二、未忘记密码该如何修改密码

1.直接修改密码

#安装目录/bin下执行
.\mysqladmin.exe -uroot -p旧密码 password '你的新密码'

2.登录mysql

#1.先登录mysql 
mysql -uroot -p密码

#2.使用命令修改密码
USE mysql;

-- 方法1:使用 UPDATE 修改密码(适用于老版本)
UPDATE user SET authentication_string = PASSWORD('你的新密码') WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

-- 方法2:使用 ALTER USER(推荐用于 MySQL 5.7.6+)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杀戮苍生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值