数据库的登录密码忘记时,我们应该怎么办??

本文详述了在忘记MySQL数据库登录密码时的解决步骤:先停止mariadb服务,通过安全模式绕过授权,然后更新root用户的密码,最后重启服务并验证新密码的有效性。

如果我们忘记数据库的登录密码,在登录过程中,认证失败,该怎么办呢???

[root@shareserver ~]# mysql  -uroot -plee  
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

首先,关闭数据库mariadb服务,进入安全模式,跳过授权这一步,输入mysql命令进入到数据库中

[root@shareserver ~]# systemctl stop mariadb
[root@shareserver ~]# mysqld_safe --skip-grant-tables &   ##进入安全模式,跳过授权



 其次,修改数据库的密码

MariaDB [(none)]> UPDATE mysql.user SET PASSWORD=password('lee') WHERE USER='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 3  Changed: 1  Warnings: 0
 



最后,退出数据库,查看并删除和mysql相关的所有进程,并重新开启数据库服务
 

[root@shareserver ~]# ps aux |grep mysql      ##删除和mysql相关的所有进程
[root@shareserver ~]# systemctl start mariadb      ##开启服务



重新登录检测

[root@shareserver ~]# mysql -uroot -plee           ##登陆


此时登陆成功!!!!
 
 
 
 
 
 
 

如果你的MySQL root用户密码丢失并且无法登录,可以尝试以下几种方法: 1. **安全模式**: 启动MySQL服务器添加`--skip-grant-tables`选项,这将允许你在无需密码的情况下访问系统,然后修改`mysql.user`表中root用户的密码。但是这个操作需要谨慎,因为它会绕过所有权限控制。 ``` mysqld_safe --skip-grant-tables & ``` 进入MySQL shell: ```sql mysql -u root ``` 2. **通过命令行恢复** (仅Linux/Mac): 如果你有文件系统的读取权限,可以在`/var/lib/mysql`目录下找到`my.cnf`文件,查找`[mysqld]`部分的`secure_file_priv`设置,通常它指向一个空密码初始化文件,例如`/dev/null`。如果存在,则可以通过这个文件重置密码。 3. **备份并重置数据**: 如果你知道之前安装使用的默认密码(如'regular_user'),你可以先停止服务,然后复制数据到新的数据库再重建,但这样可能会丢失数据。 4. **启动提示密码**: 另一种方法是在`my.cnf`中临改变`bind-address`为`localhost`,重启MySQL,然后连接并更改密码。不过同样,这可能导致安全风险。 5. **引导修复(Windows/Linux)**: 在某些Linux发行版中,你可以尝试使用引导修复工具(如GRUB或Windows安全模式)来加载MySQL服务,并在启动过程中设置新密码。 完成上述步骤后,记得更新防火墙规则,确保只允许来自信任来源的访问,并尽快修改root密码以增加安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值