[笔记] MySQL5 忘记 root 密码的解决办法
0 前言
在写『[20210126]用 ElementUI For Vue 搭建一个动态提交表单工具 - Web端 - 开发日志 - 第 3 天』的开发笔记的时候发现自己虚拟机里的 MySQL5 root 密码不记得了,找了以前的修改笔记,发现在 linux 下居然不管用,百度了一下,留此纪录,以防后患。
1 设置无密码登录
# 修改 mysqld 配置
sudo vim /etc/my.cnf
# 在 [mysqld] 栏目中追加命令 skip-grant-tables, 然后保存退出
# 重启 mysql 服务
sudo service mysqld restart
# 无需密码, 直接进入 mysql
mysql -u root
2 修改 root 密码
update mysql.user set password=password('你的密码') where User='root' and Host='localhost';
flush privileges;
grant all on *.* to 'root'@'localhost' identified by '你的密码' with grant option;
执行完后 exit
退出。
3 恢复密码登录
# 修改 mysqld 配置
sudo vim /etc/my.cnf
# 在 [mysqld] 栏目中把追加的命令 skip-grant-tables 注释或删除,然后保存退出
# 重启 mysql 服务
sudo service mysqld restart
# 输入刚刚修改好的密码, 进入 mysql
mysql -u root -p
4 后记
其实这个标题是写完了才发现之所以跟笔记上对不上的原因竟然是用的 MySQL5,结果我用 MySQL8 重置密码的方法来重置 MySQL5 的密码,实在是尴尬。MySQL5 和 MySQL8 在很多地方都有所变化,大家在使用过程中要稍微注意一下区分。