Linux系统环境下数据库密码忘记找回的三种解决方法(建议收藏)

  • 内容
  • 相关
这篇文章主要介绍了Linux系统环境中 mysql 的 root 密码忘记后的解决方法,详细的介绍了三种解决办法,具有一定的参考价值,有兴趣的可以了解一下。

MySQL 密码的恢复方法一
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接 MySQL 数据库。 因为在重新设置 MySQL 的 root 密码的期间,MySQL 数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改 MySQL 的信息。可以采用将 MySQL 对外的端口封闭,并且停止 Apache 以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的 Console 上面操作,并且拔掉网线。(此步骤可忽略,直接从第二步开始即可)

2.修改 MySQL 的登录设置:
vi /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出 vi。(注:保存并退出方法 按一下 ESC 键,随即键入 :wq 打回车即可)

3.重新启动 mysqld
/etc/init.d/mysqld restart 或 service mysqld restart 

4.登录并修改 MySQL 的 root 密码
mysql> USE mysql ; 
mysql> UPDATE user SET Password =
password ( ‘new-password’ ) WHERE User = ‘root’ ;
mysql> flush privileges ;
mysql> quit

5.将 MySQL 的登录设置修改回来
vi /etc/my.cnf
将刚才在[mysqld]的段中加上的 skip-grant-tables 删除

保存并且退出 vi。(保存并退出方法前面有说到)

6.重新启动 mysqld
/etc/init.d/mysqld restart 或 service mysqld restart

7.恢复服务器的正常工作状态(可以忽略)
将步骤一中的操作逆向操作。恢复服务器的工作状态。

MySQL 密码的恢复方法二
如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置

1.KILL 掉系统里的 MySQL 进程
killall -TERM mysqld

2.用以下命令启动 MySQL,以不检查权限的方式启动
safe_mysqld --skip-grant-tables &

3.然后用空密码方式使用 root 用户登录 MySQL
mysql -u root

4.修改 root 用户的密码
mysql> update mysql.user set password=PASSWORD('新密码') where User='root'; 
mysql> flush privileges; 
mysql> quit 

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

MySQL 密码的恢复方法三
有可能你的系统没有 safe_mysqld 程序(比如 ubuntu 操作系统, apt-get 安装的 mysql) , 下面方法可以恢复

1.停止 mysqld
/etc/init.d/mysql stop

(您可能有其它的方法,总之停止 mysqld 的运行就可以了)

2.用以下命令启动 MySQL,以不检查权限的方式启动

mysqld --skip-grant-tables &
3.然后用空密码方式使用 root 用户登录 MySQL
mysql -u root

4.修改 root 用户的密码
mysql> update mysql.user set password=PASSWORD('newpassword') where User='root'; 
mysql> flush privileges; 
mysql> quit 

5.重新启动 MySQL

/etc/init.d/mysql restart

就可以使用新密码 newpassword 登录了。

这篇文章非常实用,建议收藏哦~

本文标签:

收录状态:百度-[百度已收录]360-[360已收录]搜狗-[搜狗已收录]

版权声明:若无特殊注明,本文皆为《曹杰峰》原创,转载请保留文章出处。

本文链接:Linux系统环境下数据库密码忘记找回的三种解决方法(建议收藏) - https://www.caojiefeng.com/jyjc/130.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

00:00 / 00:00
顺序播放