mysql root密码丢失怎么办?

 

如果忘记了 MySQL 的 root 密码,windows操作系统下可以用以下方法重新设置:

 

1. 在我的电脑->管理->服务,将mysqlservice服务停止;

 

2. 在命令提示符下(CMD),进入到MYSQL的BIN目录,用以下命令启动MySQL,以不检查权限的方式启动; 

mysqld.exe --skip-grant-tables

网上很多这个地方写的是mysqld-nt --skip-grant-tables.但是在我的mysql版本下运行不起,查看了下,里面根本就没有mysqld-nt这个文件

 

3. 然后重新开打一个命令提示符的窗口(CMD)用空密码方式使用root用户登录MySQL;

 

mysql -u root

 

4. 修改root用户的密码; 

mysql> use mysql

mysql> update mysql.user set password=PASSWORD('新密码') where User='root'; 

mysql> flush privileges; 

mysql> quit

 

5. 重新启动MySQL服务,就可以使用新密码登录了。

 

 

我使用的是mysql-essential-5.1.47

 

 

以上给你经过实际测试,完全没问题。。网上很多相类似的办法,根本无法解决。可能是mysql数据库版本的问题

### 如何重置 MySQL root 用户的密码 对于忘记丢失MySQL `root` 用户密码的情况,可以通过特定的方法来恢复访问权限。具体操作取决于操作系统以及 MySQL 的版本。 #### 方法一:通过 SQL 命令行工具更改密码 当能够正常进入 MySQL 数据库时,可以直接执行 SQL 语句修改 `root` 密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NewPassword'; FLUSH PRIVILEGES; ``` 这条命令会将本地主机上的 `root` 用户的身份验证方式更改为基于原生插件,并指定新的密码[^2]。 如果无法直接登录,则可以采用下面介绍的安全模式方法来进行密码重设。 #### 方法二:使用安全模式 (Skip Grant Tables) 此过程涉及临时绕过授权表以允许无条件访问数据库实例,从而实现密码变更的目的。以下是适用于 Windows 平台的具体步骤摘要: 1. 使用管理员身份打开命令提示符; 2. 启动 MySQL 服务的同时跳过权限检查: ```shell net stop MySQL80 && net start MySQL80 --skip-grant-tables ``` 3. 登录到 MySQL 客户端而无需提供现有凭证; 4. 执行上述提到过的 SQL 更新指令; 5. 关闭处于特殊状态的服务进程: ```shell mysqladmin -u root shutdown ``` 6. 正常重启 MySQL 服务以便应用最新的配置变动; 值得注意的是,在某些较新版本中可能不再支持直接调用 PASSWORD() 函数设置哈希值,而是推荐利用上面给出的形式化语法完成同样的任务[^1]。 另外,考虑到生产环境中安全性的重要性,建议在成功更改密码之后立即采取措施加强账户保护策略,比如启用强认证机制、定期更换密钥等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值