【成语版奇妙BUG】Linux安装Mysql临时密码无法登录?

534 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情

前言

今天是个好日子我在部署自己博客网站(小预告:个人站即将上线),在装MySQL的时候遇到了一个很奇怪的问题,是自己从来没有遇到的问题,MySQL临时密码无法登录了,这就很奇怪,这让我怎么去修改自己的密码呢?于是我开始去想办法了,今天写一个博客来记录一下。 在这里插入图片描述

思路

MySQL既然必须要密码登录,那么我不可以直接跳过密码登录呢?这个是一个曲线救国的方案,结果MySQL还真提供了这种方案。

收旗卷伞

首先我们需要在root身份下停止MySQL。

service mysqld stop

狸猫换太子

vi /etc/my.cnf

我们只需要在这里这中间的位置上加入跳过密码认证的命令即可。 在这里插入图片描述

skip-grant-tables 

这样就可以了。 在这里插入图片描述

shift+z+z,保存退出。

武皇即位

systemctl start mysqld

再显身手

mysql -uroot -p

在输入密码的时候,我们按回车就可以了,我们会惊奇的发现可以跳过密码。

伺机而动

我们执行这条命令授权。

 GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 

在这里插入图片描述

当我在执行修改密码命令的时候发现又报错了!

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

在这里插入图片描述 这个时候我们需要这样做。

use mysql;
select user,host from user where user='root';

在这里插入图片描述

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxxxxx';
flush privileges;

在这里插入图片描述 大功告成!!

毁尸灭迹

我们就然干了坏事,那肯定要毁尸灭迹。

我们先退出。

quit;

再到我们刚刚的那个配置文件将跳过密码这个选项去掉。