【环境配置】Linux MySQL8 忘记密码解决措施

本片博客介绍 Linux 操作系统 Ubuntu 下,MySQL8 忘记密码怎么重新设置,笔者亲测有效,分享给大家。

查看 MySQL 版本

bash 复制代码
$ mysql --version

停止 MySQL 服务器,并查看状态是否变更为 Server shutdown complete

bash 复制代码
# 等价命令sudo systemctl stop mysql.service
sudo service mysql stop

# 等价命令sudo systemctl status mysql.service
sudo service mysql status

跳过 授权表 和 网络

在没有授权表和网络检查的条件下,启动 MySQL 服务器,设置 MySQL 启动的环境变量MYSQLD_OPTS,运行如下命令:

bash 复制代码
sudo systemctl set-environment MYSQLD_OPTS="--skip-networking --skip-grant-tables"

启动 MySQL 服务

设置完成 MYSQLD_OPTS 后,启动 MySQL 服务,并确认服务状态。

bash 复制代码
sudo service mysql start
sudo service mysql status

命令行登录 MySQL

bash 复制代码
sudo mysql -u root


重新设置 root 用户密码

首先执行如下命令:

sql 复制代码
UPDATE mysql.user SET authentication_string=null WHERE User='root';
flush privileges;

选中mysql数据库,执行下列命令设置 root 用户的新密码:

sql 复制代码
-- BY 后面接你想设置的密码, 这里我设置密码为 root
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'root';

重启 MySQL 服务器

关闭所有 mysql 进程,重启 mysql 服务器

bash 复制代码
sudo killall -u mysql
sudo systemctl restart mysql.service

登录 mysql,输入你更改后的 mysql 密码(这里密码我修改为了 root):

bash 复制代码
sudo mysql -uroot -p

一切顺利的话,就可以使用 root 用户登录 mysql 了!

相关推荐
Vect__3 小时前
深刻理解进程、线程、程序
linux
w6100104663 小时前
CKAD-2026-Ingress
运维·k8s·ckad
别抢我的锅包肉4 小时前
【MySQL】第四节 - 多表查询、多表关系全解析
数据库·mysql·datagrip
末日汐4 小时前
传输层协议UDP
linux·网络·udp
zzh0815 小时前
MySQL高可用集群笔记
数据库·笔记·mysql
Shely20175 小时前
MySQL数据表管理
数据库·mysql
寂夜了无痕6 小时前
MySQL 主从延迟全链路根因诊断与破局法则
数据库·mysql·mysql主从延迟
爱丽_6 小时前
分页为什么越翻越慢:offset 陷阱、seek 分页与索引排序优化
数据库·mysql
nbwenren6 小时前
Springboot中SLF4J详解
java·spring boot·后端
Bat U6 小时前
MySQL数据库|表设计+新增+分组查询
数据库·mysql