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

来卸载服务。

过程如图:


相关推荐
别来无恙1494 小时前
如何用 SQL 找到最受欢迎的用户?
数据库·sql·mysql
heart000_15 小时前
MySQL增删改查基础教程:熟练掌握DML语句操作【MySQL系列】
数据库·mysql
昌sit!5 小时前
mysql主从复制搭建
android·mysql·adb
低代码布道师5 小时前
第七部分:第二节 - 在 Node.js 中连接和操作 MySQL:厨房与仓库的沟通渠道
数据库·mysql·node.js
CC.cc.10 小时前
数据库:Mysql数据库安装及使用
数据库·mysql
小糖学代码11 小时前
MySQL:12_视图
android·数据库·mysql
蓝色的猴子13 小时前
mysql
数据库·mysql
fengfeng N15 小时前
cannot access ‘/etc/mysql/debian.cnf‘: No such file or directory
数据库·mysql·debian
lml485615 小时前
3.python操作mysql数据库
数据库·mysql
请为小H留灯15 小时前
MySQL连接错误解决方案:Can‘t connect to MySQL server on ‘localhost‘ (10038)
数据库·mysql