MySQL重置密码终极版

MySQL重置密码终极版

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

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

1. 重置 MySQL root 密码

在 Windows 上:

  1. 停止 MySQL 服务。以管理员身份运行 cmd ,可以在命令行中运行:

    bash 复制代码
    net stop mysql

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

    bash 复制代码
    net stop MySQL57

    不知道服务名,可通过服务查找,Win + R 打开运行,输入 services.msc ,找到 M 开头服务名

    这里查出本机的服务名为 MySQL57

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

    先配置好配置文件

    实际路径在 C盘D盘ProgramData 路径下,文件名叫:my.ini

    打开 my.ini ,大致第78行左右配置免密登录

    再以管理员身份打开cmd

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

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

    bash 复制代码
    mysql -u root
  4. 选择 mysql 数据库:

    sql 复制代码
    USE mysql;
  5. 重置密码(将 new_password 替换为你想设置的新密码):

    sql 复制代码
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  6. 退出并重新启动 MySQL 服务。

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

    bash 复制代码
    mysql -u root -p

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

2. 检查用户权限

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

sql 复制代码
SELECT user, host FROM mysql.user WHERE user='root';

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

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

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

bash 复制代码
mysql -u root -p -h your_server_ip_or_hostname

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

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

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

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

5. 注册及卸载MySQL57服务

a.注册 MySQL 为服务

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

bash 复制代码
mysqld --install MySQL57

然后通过:

bash 复制代码
net start MySQL57

来启动服务。

过程如图:


b.卸载服务(可选)

如果想卸载 MySQL57 服务:

先通过:

bash 复制代码
net stop MySQL57

来停止服务。

再执行

bash 复制代码
sc delete MySQL57

来卸载服务。

过程如图:


相关推荐
Kt&Rs7 小时前
MySQL复制技术的发展历程
数据库·mysql
手握风云-7 小时前
MySQL数据库精研之旅第十六期:深度拆解事务核心(上)
数据库·mysql
叫我龙翔8 小时前
【MySQL】从零开始了解数据库开发 --- 库的操作
数据库·mysql·数据库开发
pan3035074799 小时前
mysql 回表查询(二次查询,如何检查,如何规避)
数据库·mysql
Sally璐璐9 小时前
Go正则表达式实战指南
数据库·mysql·golang
一叶飘零_sweeeet10 小时前
从 0 到 1 攻克订单表分表分库:亿级流量下的数据库架构实战指南
java·数据库·mysql·数据库架构·分库分表
苹果醋310 小时前
数据库索引设计:在 MongoDB 中创建高效索引的策略
java·运维·spring boot·mysql·nginx
ホロHoro12 小时前
学习笔记:MYSQL(4)
笔记·学习·mysql
计算机学长felix12 小时前
基于Django的“酒店推荐系统”设计与开发(源码+数据库+文档+PPT)
数据库·python·mysql·django·vue
柠檬汁Dev13 小时前
还在等DBA给你库?我3分钟就拉起一个高可用集群
数据库·云计算·dba