linux忘记Mysql密码

本文提供了详细的步骤来帮助用户在Linux环境下重置MySQL数据库root用户的密码。包括如何停止MySQL服务、跳过授权表启动MySQL、使用root用户登录、更新密码并刷新权限、重启MySQL服务等关键操作。
停止服务# /etc/init.d/mysql stop
跳过安全设置# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
以root用户登录# mysql -u root mysql
更新密码mysql> update user set password=password('newpassword') where user='root';
刷新数据mysql> flush privileges;
关闭mysql> quit
重新启动# /etc/init.d/mysql restart
重设密码# mysql -uroot -p
enter password: <输入新设的密码newpassword>
Linux系统中重置忘记MySQL密码,通常适用于MySQL 8.0及以上版本,可以通过以下步骤完成: ### 步骤一:修改配置文件以跳过权限验证 1. 打开MySQL的主配置文件`/etc/my.cnf`,使用文本编辑器如`vi`或`vim`进行编辑: ```bash sudo vi /etc/my.cnf ``` 2. 在`[mysqld]`部分添加以下行,以启用跳过权限验证模式: ```ini skip-grant-tables ``` 这将允许用户无需密码即可登录MySQL,但仅限于本地访问[^1]。 ### 步骤二:重启MySQL服务 1. 保存配置文件的更改并退出编辑器。 2. 重启MySQL服务以应用新的配置: ```bash sudo systemctl restart mysql ``` 或者使用以下命令(取决于系统使用的初始化系统): ```bash sudo service mysqld restart ``` 这一步确保MySQL服务以跳过权限验证的模式启动[^3]。 ### 步骤三:登录MySQL并重置密码 1. 使用MySQL客户端连接到本地MySQL服务器: ```bash mysql -u root ``` 由于启用了`skip-grant-tables`选项,此时无需输入密码即可登录。 2. 选择MySQL数据库: ```sql use mysql; ``` 3. 更新root用户的密码。在MySQL 8.0中,推荐使用`ALTER USER`语句来设置密码,例如: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassword'; ``` 其中`newPassword`是您希望设置的新密码。这种方式更符合现代MySQL的安全策略[^2]。 ### 步骤四:恢复配置并重启MySQL服务 1. 再次打开`/etc/my.cnf`文件,移除之前添加的`skip-grant-tables`行: ```bash sudo vi /etc/my.cnf ``` 2. 保存并关闭文件。 3. 重启MySQL服务以恢复正常运行模式: ```bash sudo systemctl restart mysql ``` 或者: ```bash sudo service mysqld restart ``` 这将确保MySQL服务恢复正常的安全验证流程[^3]。 ### 验证新密码 尝试使用新密码登录MySQL以验证是否成功: ```bash mysql -u root -p ``` 输入新密码后,如果能够成功登录,则说明密码重置过程已完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值