mysql8.0 安装时密码忘记处理

本文提供两种解决方案,一种是清除MySQL的安装目录、数据存放目录及注册表数据,另一种是在空data目录下创建my.ini文件,通过cmd进行初始化并修改密码。

在安装完成后,配置mysql时,如果之前安装过mysql,这里要求直接输入原密码(而不是那种新密码和确认密码的);本文介绍如果处理忘记密码的问题;两种方法:

1、方法1:

1)清除MYSQL的安装目录,默认是C:\Program Files 

2)清除MYSQL数据存放目录,一般在C:\Documents and Settings\All Users.windows\Application Data目录下 

(需要注意的时Application Data这个文件夹默认是隐藏的,要通过 工具->文件夹选项->查看->显示所有 

文件与文件夹 来设置隐藏文件可见)。 

删除MySQL文件夹 

3)这步很重要,之前不管我怎么卸载MYSQL清空残余文件都还是要输入原始密码,后来试试找了下注册表,清空后果然有效。 

删除注册表数据,通过regedit,删除以下几个文件: 

引用 

HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL 

HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL 

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL 

 

 

2、方法2:
1)创建data空目录,创建my.ini文本文件,内容如下:(data目录和my.ini放在mysql目录下,注意目录中反斜杠变成正斜杠或者写成两个反斜杠)

[mysqld]
basedir=[mysql目录]
datadir=[data目录]
 

2)cmd操作

// 以管理员身份打开CMD
// 切换到mysql的bin目录
>> cd [mysql的bin目录]
// 初始化(确保data目录为空目录,下面的  my.ini可以放到c盘根目录)
>> mysqld --defaults-file=[my.ini全路径] --initialize --console
根据提示root@localhost:后面产生随机密码,并记录下密码

// 启动mysql服务
>> mysqld --console
另外以管理员身份开启一个CMD

// 连接mysql
>> mysql -u root -p
提示输入密码,键入记录的密码,成功后修改密码

// 修改root用户的密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
退出mysql

// 退出mysql
mysql> exit;

 

补充:
// 添加mysql服务
>> mysqld -install
// 移除mysql服务
>> mysqld -remove
续:

// 指定服务名称
>> mysqld -install <服务名称>
// 帮助
>> mysqld --verbose --help

### MySQL 8.0 Root 密码重置解决方案 如果忘记MySQL 8.0 的 `root` 用户密码,可以通过以下方法重新设置密码。以下是详细的说明: #### 方法一:通过临文件启动服务并修改密码 可以创建一个初始化脚本文件来完成密码的重置操作。 1. **停止 MySQL 服务** 需要先确保 MySQL 服务已经停止运行。 ```bash sudo systemctl stop mysql ``` 2. **创建初始化脚本文件** 创建一个新的文本文件 `/home/me/mysqlResetRoot.txt` 并写入 SQL 命令以更新 `root` 用户的密码[^5]。 ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; ``` 将上述命令保存到指定路径下的文件中。 3. **使用 mysqld 启动服务** 使用 `--init-file` 参数加载刚才创建的脚本来启动 MySQL 数据库实例。 ```bash sudo mysqld --init-file=/home/me/mysqlResetRoot.txt & ``` 4. **验证新密码有效性** 登录数据库测试新的密码是否生效。 ```bash mysql -u root -p Enter password: new_password ``` #### 方法二:跳过权限表启动 MySQL 进程 另一种方式是绕过权限检查机制直接进入数据库环境更改密码。 1. **关闭当前正在运行的服务进程** 如果有其他地方开启了该程序,则需将其终止掉以便后续步骤能够正常执行。 2. **启用安全模式启动服务器** 添加参数让其忽略授权控制部分从而允许管理员无需认证即可访问系统内部数据结构。 ```bash sudo mysqld_safe --skip-grant-tables & ``` 3. **连接至未受保护状态下的引擎核心组件** 此可以直接登录而不需要提供任何凭证信息因为此的安全防护已经被禁用了。 ```bash mysql -u root ``` 4. **调整账户配置属性值** 修改默认超级管理角色关联的身份验证凭据字符串形式表达式内容为自定义的新值。 ```sql USE mysql; UPDATE user SET authentication_string=PASSWORD('your_new_password') WHERE User='root'; FLUSH PRIVILEGES; EXIT; ``` 注意这里使用的函数名可能依据具体版本有所不同,在较新型号里推荐采用更现代的方式替代旧版语法构造[^2]。 最后记得重启常规工作流中的守护线程恢复正常的业务逻辑运转状况。 --- ```python print("Password has been successfully changed.") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值