前言
今天是五一佳节,我在部署自己博客网站(小预告:个人站即将上线),在装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;
再到我们刚刚的那个配置文件将跳过密码这个选项去掉。
|