Mysql数据库忘记登录密码:mysql ERROR 1045

本文详细介绍如何在忘记MySQL密码时,通过多种方法重置密码,包括修改my.ini文件、使用SET PASSWORD命令、mysqladmin工具及直接编辑user表等,确保数据库安全与可访问性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

找到C:将隐藏文件夹查看打开。。。

在这里插入图片描述
在这里插入图片描述

  • 找到ProgramDate 文件夹
    在这里插入图片描述
  • 进入mysql文件夹
    在这里插入图片描述
  • 找到电脑安装的mysql版本并进入
    在这里插入图片描述
  • 找到my.ini 以记事本方式打开
    没有可以下载一个放里面:

链接:https://pan.baidu.com/s/1r8p7jN_oVqWUmx1_T4ixng
提取码:ofwn
在这里插入图片描述

  • 查找mysqlld
    在这里插入图片描述
    在这里插入图片描述
    skip-grant-tables
    保存
  • 重启mysql 服务
    在这里插入图片描述
    可连接数据库。

修改mysql密码

1.进入mysql数据库:
mysql> use mysql;Database changed

2.给root用户设置新密码
在这里插入图片描述
在这里插入图片描述

mysql> update user set authentication_string=password(“123456”) where user=“root”;

3.刷新数据库mysql> flush privileges;

注释掉跳过权限认证重启Mysql服务
在这里插入图片描述

方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password(‘新密码’);
例子:mysql> set password for root@localhost = password(‘123’);

方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123

方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password(‘123’) where user=‘root’ and host=‘localhost’;
mysql> flush privileges;
(很奇怪的现象,flush privileges不执行,退出mysql,旧密码依旧可以登录,登陆后更新后,新密码生效。)
方法4:在忘记root密码的时候,可以这样
以windows为例:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值