欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

MySQL重置密码终极版(附详细步骤)

2025年07月31日 Mysql
前言尝试全网很多方法,很鸡肋,基本无法重置 mysql57 的密码,下面是切实有效的方法:出现 mysql 错误 “error 1045 (28000): access denied fo

前言

尝试全网很多方法,很鸡肋,基本无法重置 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行左右配置免密登录

    再以管理员身份打开cmd

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

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

    mysql -u root
    

  4. 选择 mysql 数据库:

    use mysql;
    

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

    flush privileges;
    alter user 'root'@'localhost' identified by 'new_password';
    

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

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

    mysql -u root -p
    

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

2. 检查用户权限

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

select user, host from mysql.user where user='root';

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

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

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

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 为服务(以便系统自动管理):

mysqld --install mysql57

然后通过:

net start mysql57

来启动服务。

过程如图:

b.卸载服务(可选)

如果想卸载 mysql57 服务:

先通过:

net stop mysql57

来停止服务。

再执行

sc delete mysql57

来卸载服务。

过程如图:

总结 

到此这篇关于mysql重置密码终极版的文章就介绍到这了,更多相关mysql重置密码内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!