Mysql8.0.26版本密码修改以及无法登录或者忘记密码进行密码重置

一.密码修改

1.mysql5.7.9版本之前的密码修改

mysql> USE mysql;
Database changed
mysql> UPDATE user SET authentication_string="密码" WHERE user="root";
Query OK, 1 row affected (0.39 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH privileges;  # 刷新保存
Query OK, 0 rows affected (0.13 sec)

2.mysql8.0.26修改方式
分析:因为从5.7.9版本之后取消password(“密码”)函数所以使用authentication_string=“密码” 会报错:
在这里插入图片描述
正确方式:

//依次输入命令
use mysql;//选择数据库
SELECT user, Host FROM user;
//查询用户以及相关的权限
ALTER USER 'root'@'localhost' IDENTIFIEED WITH mysql_native_password BY "密码";
//注:localhost,对应的是上面查询的用户的主机(Host),我这里已经修改过所以是%,没有修改过的是localhost;
SELECT user, authentication_string FROM user;
//查看是否已经修改
FLUSH privileges;
//刷新权限;
quit;
//退出
//然后冲重新登录验证
mysql -u root =p


在这里插入图片描述
在这里插入图片描述

二.MySql无法登录或者忘记密码进行重置

**分析:**如果无法登录或者忘记密码可以选择进行mysql安全模式无密码登录。
1.停止mysql服务

net stop mysql
//到安装目录bin目录下打开cmd命令窗口输入上面命令,如果环境变量已经配置好了,可以不需要到目录下打开cmd,直接win+R在运行里面输入cmd打开命令窗口

2.以管理员权限运行命令行mysqld --console --skip-grant-tables --shared-memory

//win+R在运行里面输入cmd打开命令窗口执行下面的命令
mysqld --console --skip-grant-tables --shared-memory
//启动 MySQL 服务的时候跳过权限表认证

注:该命令窗口不是静止的,切记不要关闭。
在这里插入图片描述
3.进行无密码登录清空密码

//在mysql安装目录下的bin目录下打开cmd 执行下面命令进行无密码登录
mysql -u root
use mysql;//选择数据库
update user set authentication_string='' where user='root';
//先将密码清空,刷新保存
FLUSH privileges;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.关闭mysqld 任务,重新登录

//关闭mysqld --console --skip-grant-tables --shared-memory执行的任务Ctrl+c或者直接关闭cmd命令窗口
//在mysql安装目录下的bin目录下打开cmd 执行下面命令进行登录
net start mysql//启动数据库
mysql -u root -p
//输入密码(因为密码为空所以直接回车就好)
use mysql;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "密码";
//修改密码
//注:localhost,对应的是上面查询的用户的主机(Host),我这里已经修改过所以是%,没有修改过的是localhost;
FLUSH privileges;

在这里插入图片描述
**

三.初始化MySql

**
1.停止mysql

net stop mysql
//到安装目录bin目录下打开cmd命令窗口输入上面命令,如果环境变量已经配置好了,可以不需要到目录下打开cmd,直接win+R在运行里面输入cmd打开命令窗口

2.转移mysql数据存储目录
将配置文件my.ini中的datadir属性修改为目标路径(可以将原 /data 文件夹下的内容复制转移),或直接将 /data 删掉。

以管理员权限打开cmd命令行,输入mysqld --initialize --user=mysql --console,会生成初始化密码:
,记住原始密码
3.启动mysql

net start mysql

通过初始密码进入 MySQL 并修改用户密码

//打开cmd 到安装目录bin目录下
mysql -u root -p
//原始密码登录
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "密码";
//修改密码登录,刷新
FLUSH privileges;
quit;//退出,使用修改的密码重新登录

猜你喜欢

转载自blog.csdn.net/A_awen/article/details/127270573