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

来卸载服务。

过程如图:


相关推荐
墨迹的陌离9 小时前
【Linux】重生之从零开始学习运维之Mysql
linux·运维·服务器·数据库·学习·mysql
就叫飞六吧12 小时前
mysql全量备份、全量恢复demo
android·mysql·adb
Yu_Lijing12 小时前
MySQL进阶学习与初阶复习第二天
数据库·c++·学习·mysql
小高Baby@13 小时前
解决幻读问题
数据库·mysql
左直拳14 小时前
linux下变更mysql的数据文件目录
mysql·datadir·数据目录·变更数据目录·变更mysql目录
MacroZheng14 小时前
换掉Navicat!一款集成AI功能的数据库管理工具,功能真心强大!
java·后端·mysql
旧时光巷15 小时前
SQL基础⑫ | 视图篇
数据库·sql·学习·mysql·oracle·视图
二向箔reverse16 小时前
在 CentOS 中安装 MySQL 的过程与问题解决方案
linux·mysql·centos
WJ.Polar16 小时前
Python与Mysql
开发语言·数据库·python·mysql
看天走路吃雪糕17 小时前
墨者:SQL注入实战-MySQL
数据库·mysql·base64·sql注入·sqlmap·墨者靶场·tamper