Linux下MySQL8的密码忘记之后重置密码

1、首先关闭Mysql服务

复制代码
#service mysqld stop

关闭之后可以查看一下mysql服务状态:可以看到下面还有mysql服务的操作日志

2、找到my.cnf文件

添加skip-grant-tables设置免密登录

复制代码
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
skip-grant-tables
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
bind-address=0.0.0.0

保存编辑内容

3、重启Mysql服务

复制代码
#service mysqld start

4、将旧的密码置空

复制代码
mysql -u root -p    //提示输入密码时直接敲回车。

选择数据库mysql

复制代码
use mysql;

将密码置空

复制代码
update user set authentication_string = '' where user = 'root';

退出

复制代码
quit

5、关闭mysql服务,删掉步骤2的语句 skip-grant-tables

6、重启mysql服务

复制代码
重启服务 service mysqld restart

7、修改密码

复制代码
进入数据库
mysql -u root -p //提示输入密码时直接敲回车,刚刚已经将密码置空了
修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '在这里输入你的密码';

mysql8之后密码强制校验复杂度,密码过于简单会报错,一般校验 大写+小写+数字+特殊字符:@、_等组合尝试

相关推荐
kebidaixu11 小时前
BCU 平台 RS485 驱动适配:从 THVD1406 到 ISO3082
linux
杨浦老苏11 小时前
家庭实验室监控仪表盘HomeLab-Monitor
运维·docker·监控·群晖
回忆2012初秋11 小时前
【Nginx】原理、配置与运维实战(2)
运维·nginx·策略模式
北顾笙98012 小时前
MySQL-day2
数据库·mysql
Urbano12 小时前
工装外套全制作流程、工序痛点及自动化设备升级方案
运维·自动化
映翰通朱工13 小时前
工业4G网关无公网IP远程运维实战(内网终端异地访问方案)
运维·服务器·网络·安全·智能路由器
洪晓露13 小时前
将 rke2 集群证书延长至 10 年
运维·服务器·数据库
谢平康13 小时前
解决用 rm 报bash: /usr/bin/rm: Argument list too long错
linux·运维·运维开发
程序猿乐锅13 小时前
【MySQL | 第八篇】MySQL 视图
数据库·mysql
IP老炮不瞎唠13 小时前
Python 价格监控如何实现?思路与实用方法分享
运维·服务器·网络