MySQL 安全模式下重置root密码实现方法
2022-11-12 09:54:05
内容摘要
这篇文章主要为大家详细介绍了MySQL 安全模式下重置root密码实现方法,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
如果忘记MySQL密码
文章正文
这篇文章主要为大家详细介绍了MySQL 安全模式下重置root密码实现方法,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!如果忘记MySQL密码可以在安全模式下重置MySQL的root密码,首先以安全模式启动mysql,这样不需要密码可以直接以root身份登录,然后重置密码。
首先,我们停掉MySQL服务:
1 | <code class = "nginx" >sudo service mysql stop</code> |
以上命令适用于Ubuntu和Debian。CentOS、Fedora和RHEL下使用mysqld替换mysql。
以安全模式启动MySQL:
1 2 3 | <code class = "nginx" >sudo mysqld_safe --skip-grant-tables --skip-networking & #注意我们加了--skip-networking,避免远程无密码登录 MySQL。 </code> |
这样我们就可以直接用root登录,无需密码:
1 | <code class = "nginx" >mysql -u root</code> |
接着重设密码:
1 2 3 4 | <code class = "nginx" >mysql> use mysql; mysql> update user set password=PASSWORD( "newpass" ) where User= 'root' ; mysql> flush privileges; </code> |
注意,命令后需要加分号。
重设完毕后,我们退出,然后启动 MySQL 服务:
1 | <code class = "nginx" >mysql > quit</code> |
quit不需要分号。
重启服务:
1 | <code class = "nginx" >sudo service mysql restart</code> |
同样,以上命令适用于Ubuntu和Debian,Centos、Fedora和RHEL需要用mysqld替换mysql。
现在可以尝试用新密码登录了:
1 2 3 4 | <code class = "nginx" >mysql -u root -pnewpass #注意,-p 和密码间不能有空格。 </code> |
注:关于MySQL 安全模式下重置root密码实现方法的内容就先介绍到这里,更多相关文章的可以留意
代码注释