MySQL数据库密码忘记

破解本地MySQL数据库密码:

Windows:

1.用系统管理员登陆系统。

2.停止MySQL的服务。

3.进入命令窗口,然后进入 MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin

4.跳过权限检查启动MySQL,

c:\mysql\bin>mysqld-nt ––skip-grant-tables

或则:c:\mysql\bin>mysqld ––skip-grant-tables

mysqld.exe是微软Windows MySQL server数据库服务器相关程序。mysqld-nt.exe是MySQL Daemon数据库服务相关程序。

5.[未验证]

重新打开一个窗口

进入c:\mysql\bin目录,设置root的新MySQL数据库密码

c:\mysql\bin>mysqladmin -u root flush-privileges password "newpassword"

c:\mysql\bin>mysqladmin -u root -p shutdown

将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。

5.[验证]或则:

重新开打一个命令提示符的窗口(CMD)

用空MySQL数据库密码方式使用root用户登录 MySQL;

  1. mysql -u root 

修改root用户的密码;

  1. mysql> update mysql.user set password=PASSWORD('新密码') where User='root';   
  2. mysql> flush privileges;   
  3. mysql> quit  

6.停止MySQL Server,用正常模式启动Mysql

7.你可以用新的密码链接到Mysql 了。

Unix&Linux

1.用root或者运行mysqld 的用户登录系统;

2.利用kill命令结束掉mysqld的进程;

3.使用–skip-grant-tables参数启动MySQL Server

  1. shell>mysqld_safe –skip-grant-tables & 

4.为设置新MySQL数据库密码

  1. shell>mysqladmin -u root flush-privileges password "newpassword" 

5.重启MySQL Server

附录:

MySQL修改密码的方法大全:

  1. mysql> update user set Password=password('newpassword') where User='root';   
  2. MYSQLADMIN -u root -p PASSWORD mypasswd   

可以修改MYSQL文件夹中的MY.INI文件

  1. mysql> SET PASSWORD FOR myuser@localhost = PASSWORD('mypasswd');   
  2. mysql> GRANT USAGE ON *.* TO myuser@localhost IDENTIFIED BY 'mypassword';   

Tag标签: MySQL忘记密码,MySQL找回密码,Mysql密码,修改MySQL数据库密码

### Win10 系统中 MySQL 数据库密码的重置方法 #### 方法一:通过跳过授权表的方式重置密码 此方法适用于无法记住当前 MySQL 用户名和密码的情况。以下是具体步骤: 1. **停止 MySQL 服务** 首先需要关闭正在运行的 MySQL 服务。可以在命令行中输入以下命令来停止服务: ```cmd net stop mysql ``` 2. **以跳过权限表的方式启动 MySQL** 使用 `--skip-grant-tables` 参数启动 MySQL,这样可以绕过密码验证机制: ```cmd mysqld --skip-grant-tables ``` 此时 MySQL 将在不检查用户权限的情况下运行。 3. **登录到 MySQL 控制台** 打开一个新的命令行窗口,并尝试无密码登录 MySQL: ```cmd mysql -u root ``` 4. **切换至 `mysql` 数据库** 登录成功后,切换到存储用户信息的数据库: ```sql USE mysql; ``` 5. **更新用户密码** 对于 MySQL 版本 >= 8.0,使用以下语句修改密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '新密码'; ``` 如果是较低版本 (< 8.0),则可以使用以下语句: ```sql UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root' AND Host='localhost'; FLUSH PRIVILEGES; ``` 6. **重启 MySQL 服务** 修改完成后,重新启动 MySQL 服务以恢复正常模式: ```cmd net start mysql ``` 这种方法基于官方文档推荐的安全实践[^1],确保能够在不影响数据的前提下完成密码重置。 --- #### 方法二:创建初始化脚本来自动执行密码重置 如果希望更加自动化地完成这一过程,可以通过创建一个初始化脚本来实现: 1. 创建一个名为 `reset_password.sql` 的文件,内容如下: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '新密码'; FLUSH PRIVILEGES; ``` 2. 编辑 MySQL 配置文件(通常位于 `C:\ProgramData\MySQL\MySQL Server 8.0\my.ini`),添加以下参数指向刚才创建的脚本: ```ini [mysqld] init-file=C:/path/to/reset_password.sql ``` 3. 重启 MySQL 服务以应用更改: ```cmd net stop mysql net start mysql ``` 4. 删除配置文件中的 `init-file` 参数以及对应的 SQL 脚本文件,防止泄露敏感信息。 这种方式特别适合批量部署环境下的密码统一管理需求[^4]。 --- #### 方法三:直接编辑用户表记录 对于某些特殊场景,可以直接操作底层数据文件进行密码修复: 1. 停止 MySQL 服务。 2. 找到 MySQL 存储引擎使用的 `.ibd` 或 `.frm` 文件路径。 3. 备份原始文件后,手动清空或替换掉加密后的哈希字符串部分。 4. 启动服务并立即设置新密码。 不过由于涉及内部结构解析复杂度较高,一般仅限高级运维人员采用[^5]。 --- ### 注意事项 - 在整个过程中要始终保持警惕,避免因误操作而导致生产环境中断或其他意外后果; - 推荐始终保留一份最新的全量备份副本作为应急恢复依据; - 设置强度较高的组合型密码策略有助于提升长期安全性防护水平。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值