Linux MySQL密码忘记或者找不到初始化密码解决方法

当在Linux环境中遇到无法找到MySQL数据库初始密码的问题时,可以按照以下步骤操作:首先,修改my.cnf文件,在[mysqld]部分添加'skip-grant-tables',然后重启MySQL服务。接着,无需密码直接进入数据库,针对5.7版本前后的MySQL执行不同的密码修改语句。最后,注释掉my.cnf中添加的'skip-grant-tables',重启服务即可使用新密码登录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用Linux时每次下载完数据库,进入数据库时查找不到初始密码,有时候用户名密码一多也容易忘记,记录一种方式解决这个问题,亲测有效;

1.修改my.cnf配置文件

(1)找到my.cnf位置,在[mysqld]下面添加skip-grant-tables

cd /
vim /etc/my.cnf

在这里插入图片描述
(2)添加完成后保存,并重启mysql服务

按下esc
输入:wq
执行 servcie mysqld restar

在这里插入图片描述

2.进入mysql数据库,修改密码

(1)mysql -uroot -p,随后会弹出输入密码,直接按下回车就可以进入数据库了
在这里插入图片描述
(2)修改原始密码
5.7版本前的mysql运行: update user set password=password("你的密码") where user="用户";
5.7版本后的mysql运行:update mysql.user set authentication_string=password('你的密码') where user='用户';
修改完后 exit;
注:用户默认使用的是root

3.注释my.cnf中添加的skip-grant-tables

在命令前面加上#即可注释
在这里插入图片描述
保存退出后,重新启动mysql服务servcie mysqld restar,就可以使用设定的密码进行登录了;

### 设置或回Ubuntu系统上的MySQL初始密码 #### 删除现有安装并重装MySQL 对于在Ubuntu 20.04.3 LTS环境下遇到无法登录到新安装的MySQL服务器的情况,一种解决办法是卸载现有的MySQL版本再重新安装。这可以确保移除任何可能引起冲突的配置文件和数据残留[^1]。 #### 使用`mysql_secure_installation`工具初始化密码 当完成MySQL的新一轮安装过程后,可以通过运行命令`mysql_secure_installation`来设定root用户的密码和其他安全选项。此脚本会引导用户通过一系列的安全设置步骤,其中包括定义强效的管理员账户凭证[^2]。 ```bash sudo mysql_secure_installation ``` #### 修改认证字符串而不需知道旧密码 如果忘记了root用户的原始密码,则可以在不提供当前密码的情况下更改它。为此目的,在编辑器中打开MySQL配置文件(通常位于/etc/mysql/my.cnf),添加`skip-grant-tables`参数使服务启动不加载权限表。接着以无需验证的方式连接至数据库,并执行SQL语句更新根用户的认证方式及其哈希后的密码值: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的密码'; ``` 最后记得删除之前加入的那行跳过授权表指令,并重启mysqld服务以便应用变更[^3]。 #### 利用特殊维护账户恢复访问权 某些Linux发行版预设了一个名为debian-sys-maint的服务账号用于自动管理任务;该账号拥有足够的特权来进行必要的调整工作而不需要标准的超级用户凭据。利用这个特性,即使丢失了常规途径下的登陆信息也能借助如下所示的方法获取控制台接入权限[^4]: ```bash mysql -u debian-sys-maint -p ``` 请注意,默认情况下上述命令中的密码存储于`/etc/mysql/debian.cnf`内,因此实际操作应查阅具体的内容作为输入依据。 #### 更新插件与密码字段适应不同版本差异 针对特定情况——即发现尽管提供了正确的用户名和密码组合仍然遭遇拒绝进入的情形——可能是由于所使用的身份验证机制有所变化所致。此应当考虑切换回更兼容的传统模式(`mysql_native_password`),并通过适当的形式指定新密码[^5]。 ```sql USE mysql; UPDATE user SET plugin="mysql_native_password", authentication_string=PASSWORD('您希望设立的新密码') WHERE User='root'; FLUSH PRIVILEGES; ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值