当前位置: 首页 > news >正文

MySQL重置密码终极版

MySQL重置密码终极版

尝试全网很多方法,很鸡肋,基本无法重置 MySQL57 的密码,下面是切实有效的方法:

出现 MySQL 错误 “ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’” 通常意味着你尝试以 root 用户身份连接到 MySQL 服务器,但提供的密码不正确,或者该用户的访问权限被限制了。以下是一些解决步骤:

1. 重置 MySQL root 密码

在 Windows 上:

  1. 停止 MySQL 服务。以管理员身份运行 cmd ,可以在命令行中运行:
    在这里插入图片描述

    net stop mysql
    

    或者如果你使用的是 MySQL 的服务名(例如 MySQL57):

    net stop MySQL57
    

    在这里插入图片描述

    不知道服务名,可通过服务查找,Win + R 打开运行,输入 services.msc ,找到 M 开头服务名
    在这里插入图片描述
    这里查出本机的服务名为 MySQL57

  2. 以无密码模式启动 MySQL:

    先配置好配置文件
    实际路径在 C盘D盘ProgramData 路径下,文件名叫:my.ini
    在这里插入图片描述
    打开 my.ini ,大致第78行左右配置免密登录
    image-20250417013007735

    再以管理员身份打开cmd

    2025-04-17_01-32-11

    mysqld --skip-grant-tables
    
  3. 打开一个新的命令行窗口,并连接到 MySQL:

    注意一定要新开一个 cmd 命令窗口,且上面执行的 mysqld --skip-grant-tablescmd 命令窗口不能关闭!!!

    mysql -u root
    

    2025-04-17_01-23-00

  4. 选择 mysql 数据库:

    USE mysql;
    

    image-20250417013518733

  5. 重置密码(将 new_password 替换为你想设置的新密码):

    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    

    image-20250417013651064

  6. 退出并重新启动 MySQL 服务。

    2025-04-17_01-25-28

  7. 使用新密码尝试连接:

    mysql -u root -p
    

    然后输入你的新密码。执行如下显示 Welcome to the MySQL monitor…… ,恭喜,密码重置成功!

    在这里插入图片描述

2. 检查用户权限

如果你只是想确认用户权限而不是重置密码,可以尝试查看 root 用户的权限:

SELECT user, host FROM mysql.user WHERE user='root';

确保 host 列中包含 localhost%(后者允许从任何主机连接)。

image-20250417013814495

3. 使用正确的用户和主机名

如果你从远程机器连接,确保使用正确的用户和主机名。例如,如果你从远程机器连接,尝试:

mysql -u root -p -h your_server_ip_or_hostname

并确保 root 用户有从该主机连接的权限。

image-20250417013814495

4. 检查防火墙和安全组设置

确保没有防火墙或安全组规则阻止你的连接。检查你的网络设置,确保 MySQL 的默认端口(3306)是开放的。

通过以上步骤,你应该能够解决访问被拒绝的问题。如果问题仍然存在,请检查 MySQL 的错误日志文件以获取更多详细信息。在 Windows 上,错误日志通常位于 MySQL 数据目录中,例如 C:\ProgramData\MySQL\MySQL Server 5.7\data\

5. 注册及卸载MySQL57服务

a.注册 MySQL 为服务

如果想注册 MySQL 为服务(以便系统自动管理):

mysqld --install MySQL57

然后通过:

net start MySQL57

来启动服务。

过程如图:

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

b.卸载服务(可选)

如果想卸载 MySQL57 服务:

先通过:

net stop MySQL57

来停止服务。

再执行

sc delete MySQL57

来卸载服务。

过程如图:

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

相关文章:

  • 【Java高阶面经:缓存篇】35、 Redis单线程 vs Memcached多线程:高性能内存数据库设计解析
  • 阿里云OSS Api工具类不使用sdk
  • 通过 Terraform 构建您的第一个 Azure Linux 虚拟机
  • AWS EC2 使用Splunk DB connect 连接 RDS mysql
  • Missashe考研日记—Day44-Day50
  • 怎么判断文件是否支持多线程下载
  • orzdba.gz 下载解压使用教程:MySQL/InnoDB 监控命令参数详解与实战技巧
  • 优先级队列 模版题单
  • YOLOv8源码修改(5)- YOLO知识蒸馏(下)设置蒸馏超参数:以yolov8-pose为例
  • [C++] 洛谷B3959(GESP2024三月四级)做题
  • LLM多平台统一调用系统-LiteLLM概述
  • C++ 中的引用参数(Reference Parameter)‌
  • 【DeepSeek】计算机科学与技术专业的学习顺序
  • Vue3编译器:静态提升原理
  • 【Simulink】IEEE5/IEEE9/IEEE14/IEEE30/IEEE33/IEEE39仿真模型
  • 【Day36】
  • openjdk底层(hotspot)汇编指令的内存分布
  • 关于多类型数据划分清洗的整理
  • ISO 20000体系:服务请求管理、问题管理、事件管理区别与联系
  • BAT32G113 发送互补PWM
  • 黑糖主题3.0wordpress/湖南seo
  • 广西网站建设渠道/建立网站需要什么技术
  • 麻章手机网站建设/电脑零基础培训班
  • 06年可以做相册视频的网站/淘宝美工培训
  • 网站开发与设计实训心得/保定seo推广公司
  • 福州企业做网站/seogw