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

来卸载服务。

过程如图:


相关推荐
lang201509283 小时前
MySQL InnoDB备份恢复全指南
数据库·mysql
比特森林探险记7 小时前
MySQL 架构全景解析
数据库·mysql·架构
橄榄熊8 小时前
Docker MySQL 使用全流程
mysql·docker·容器
阿巴~阿巴~8 小时前
MySQL复合查询(重点)
服务器·数据库·sql·mysql·ubuntu
欢喜躲在眉梢里12 小时前
mysql之二进制日志
运维·数据库·mysql·日志·数据·mysql日志
沐浴露z14 小时前
MySQL MVCC:通过 ReadView与 undolog版本链 分析读提交RC和可重复读RR的原理
数据库·mysql·innodb·mvcc
阿巴~阿巴~14 小时前
MySQL索引特性(重点)
服务器·数据库·sql·mysql·ubuntu
NiNi_suanfa15 小时前
【MySQL数据库】InnoDB实现MVCC(多版本并发控制)底层原理
数据库·mysql
jackletter15 小时前
五大关系数据库(sqlserver、mysql、oracle、pgsql、sqlite)的对象名称和转义字符
mysql·postgresql·oracle·sqlserver·sqlite
会飞的架狗师15 小时前
【MySQL体系】第2篇:MySQL索引类型和原理
数据库·mysql