linux中用户忘记数据库密码,修改root用户密码

步骤一:停止Mariadb服务

systemctl stop mariadb

步骤二:启动数据库(mysqld_safe)服务端程序

mysqld_safe --skip-grant-table &

在这里插入图片描述

(安全模式启动数据库,让user表不起作用,进入数据库时绕过密码验证,&表示启动程序在后台运行)

(命令行 &:启动一个命令行任务,并将其在后台运行)

步骤三:使用命令进入Mariadb客户端

mysql -uroot
在这里插入图片描述

步骤四:修改用户密码

update mysql.user set password=password(‘py520121’) where user=‘root’ and host=‘localhost’;
在这里插入图片描述

步骤五:退出该服务

quit

步骤六:停止(mysqld_safe)服务进程

pkill -9 mysql
(强制杀死名称包含mysql的进程,建议多杀几次)
在这里插入图片描述

步骤七:重启Mariadb服务

systemctl restart mariadb

步骤八:验证密码是否修改成功

mysql -uroot -ppy520121
在这里插入图片描述

成功登录则表示修改成功

常见问题:重置数据库密码之后,随便输入什么密码都能进系统

原因:绕过授权表的mysqld-safe进程没有完全杀死

解决方案:执行pkill -9 mysql 强制杀死名称包含mysql的进程

建议:先为数据库管理员root设好密码,然后在删除空密码用户

delete from mysql.user where password=‘’;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux Docker忘记数据库密码,我们可以按照以下步骤来解决这个问题: 1. 首先,我们需要进入到Docker容器的shell环境。可以使用以下命令进入Docker容器: ``` docker exec -it <container_id> /bin/bash ``` 请将`<container_id>`替换为你的Docker容器的ID。 2. 接下来,我们需要停止数据库服务。可以使用以下命令停止数据库服务: ``` service <service_name> stop ``` 请将`<service_name>`替换为你使用的数据库服务的名称(例如,MySQL)。 3. 然后,我们可以通过以下命令以跳过授权模式的方式来启动数据库服务: ``` service <service_name> start --skip-grant-tables ``` 同样,请将`<service_name>`替换为你使用的数据库服务的名称。 4. 现在我们已经成功启动了数据库服务,并且可以在不需要密码的情况下访问数据库。使用以下命令连接到数据库: ``` mysql -u root ``` 这将以root用户身份连接到MySQL数据库。 5. 连接到数据库后,我们可以重置数据库密码。使用以下命令来更改密码: ``` USE mysql; UPDATE user SET authentication_string=PASSWORD("<new_password>") WHERE User='root'; FLUSH PRIVILEGES; ``` 请将`<new_password>`替换为你想要设置的新密码。 6. 修改密码后,我们可以退出数据库并停止数据库服务。使用以下命令退出数据库: ``` EXIT; ``` 然后使用以下命令停止数据库服务: ``` service <service_name> stop ``` 7. 最后,我们需要重新启动数据库服务以应用新的密码设置。使用以下命令重新启动数据库服务: ``` service <service_name> start ``` 至此,我们已经成功重置了在Linux Docker忘记数据库密码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值