修改mysql 8.0密码

1. 首先说明:

正确的修改密码方式:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "123456";

错误的修改方式:

UPDATE user SET authentication_string="123456" WHERE user="root";

2.情景:

我因为用错误的修改方式连接不上mysql

我的mysql密码是一个空的 ,我觉得这样怪不好的,我就想设置一个密码,我的mysql版本是8.0.27,我就百度了这个版本的怎么修改密码,看到一篇文章,两下就改好了,我刚觉得这篇文章不错,结果发现了作者说按照这种方式修改密码的他表示很同情,我就纳闷了为什么?原来这种方式修改密码会报错,会连接不上mysql,我试了一下还真连接不上了。、giao。原文是这样的,
在这里插入图片描述
不过作者也给了用这种方式修改密码出现问题的解决方式。我真是大冤种啊 竟然这么大一个坑还自己往里跳,还好作者给了爬坑方式,那就开始爬坑吧
在这里插入图片描述

3.开始爬坑

3.1 先把mysql密码清空

1.停止 MySQL 任务

net stop MySQL

2.mysqld 命令:无密码登录

mysqld --console --skip-grant-tables --shared-memory

我的运行图:
在这里插入图片描述


打开另外一个终端

3.2 设置新的密码

1.无密码进入

mysql mysql -u root

2.USE mysql;

USE mysql;

3.用正确的方式修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "123456";

我的cmd运行图:
在这里插入图片描述

在服务器上更改 MySQL 8.0 密码,有以下几种常见方法: #### 1. 使用 `ALTER USER` 语句修改密码 若要修改 `root` 用户的密码,可以使用如下命令: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; ``` 此方法适用于修改本地 `root` 用户的密码。若要修改其他用户的密码,将 `'root'` 替换为相应的用户名即可。 #### 2. 采用 `UPDATE` 语句修改密码 使用 `UPDATE` 语句更新 `mysql` 数据库中的 `user` 表来修改密码: ```sql USE mysql; UPDATE user SET authentication_string = PASSWORD('new_password') WHERE user = 'test'; FLUSH PRIVILEGES; ``` 此方法需注意,在 MySQL 8.0 中,`PASSWORD()` 函数已被弃用,不过仍可正常使用。使用该方法时,要将 `'test'` 替换为实际要修改密码的用户名。 #### 3. 处理 `caching_sha2_password` 验证问题 如果使用 Navicat 连接 MySQL 8.0 时出现 “2059 - authentication plugin ‘caching_sha2_password’ …” 错误,可使用如下命令修改用户的验证插件: ```sql ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES; ``` 此方法将用户的验证插件从 `caching_sha2_password` 更改为 `mysql_native_password`,从而解决连接问题。 #### 4. Ubuntu 系统下更改密码登录方式 在 Ubuntu 系统中更改 MySQL 8.0 密码登录方式的操作如下: ```bash sudo apt-get update sudo apt install mysql-server sudo apt-get install libmysqlclient-dev sudo mysql USE mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '1'; FLUSH PRIVILEGES; EXIT; ``` 之后可使用以下命令登录: ```bash mysql -u root -p ``` 输入密码 `1` 即可进入 MySQL [^2]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值