忘记MySql的root密码如何修改

本文详细介绍了在遇到MySQL ROOT密码丢失时,如何通过编辑配置文件、重启服务、设置新密码并还原配置的步骤来解决该问题。操作简单易懂,确保数据库系统的正常运行。
MySQL使用中很常见的问题,可是有很多朋友并不会重置ROOT密码,那叫苦啊,我有深有感触,特写此文章与大家交流:

1、编辑MySQL配置文件:

windows环境中:%MySQL_installdir%\my.ini //一般在MySQL安装目录下有my.ini即MySQL的配置文件。
linux环境中:/etc/my.cnf

在[MySQLd]配置段添加如下一行:
skip-grant-tables

保存退出编辑。

2、然后重启MySQL服务

windows环境中:
net stop MySQL
net start MySQL

linux环境中:
/etc/init.d/MySQLd restart

3、设置新的ROOT密码

然后再在命令行下执行:
MySQL -uroot -p MySQL
直接回车无需密码即可进入数据库了。

现在我们执行如下语句把root密码更新为 root:
update user set password=PASSWORD("root") where user='root';

quit 退出MySQL。

4、还原配置文件并重启服务

然后修改MySQL配置文件把刚才添加的那一行删除。

再次重起MySQL服务,密码修改完毕。

修改完毕。

用新密码root试一下吧,又能登入MySQL的感觉就是不一样吧?


忘记 MySQL root 密码的情况下,可以通过跳过权限检查的方式来重置密码。以下是适用于不同操作系统的解决方案。 ### 在 Linux 系统中重置 MySQL root 密码 1. 停止当前运行的 MySQL 服务: ```bash sudo systemctl stop mysql ``` 2. 使用 `--skip-grant-tables` 参数启动 MySQL 以跳过权限检查: ```bash sudo mysqld_safe --skip-grant-tables & ``` 3. 登录到 MySQL 服务器,无需输入密码: ```bash mysql -u root ``` 4. 更新 root 用户的密码: ```sql UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root' AND Host='localhost'; FLUSH PRIVILEGES; ``` 其中 `new_password` 是您想要设置的新密码[^1]。 5. 退出 MySQL 并重启 MySQL 服务以应用更改: ```bash sudo systemctl restart mysql ``` ### 在 Windows 系统中重置 MySQL root 密码 1. 如果 MySQL 服务正在运行,请先停止它: ```cmd net stop mysql ``` 2. 打开一个新的命令提示符窗口,并切换至 MySQL 的 `bin` 目录。 3. 启动 MySQL 服务并跳过权限检查: ```cmd mysqld --skip-grant-tables ``` 4. 再次打开一个命令提示符窗口,并进入 MySQL 的 `bin` 目录后登录 MySQL: ```cmd mysql -u root ``` 5. 更新 root 用户的密码: ```sql UPDATE mysql.user SET password=PASSWORD('新密码') WHERE user='root' AND host='localhost'; FLUSH PRIVILEGES; ``` 将“新密码”替换为您希望使用的实际密码[^3]。 6. 完成后退出 MySQL 并正常重启 MySQL 服务。 ### 注意事项 - 确保在执行这些步骤时具有足够的系统权限。 - 修改完成后应立即关闭 `--skip-grant-tables` 模式,以免留下安全隐患。 - 不同版本的 MySQL 可能会有不同的语法和流程,请根据实际情况调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值