Linux云服务器下怎么重置MySQL8.0数据库密码


一、修改my.cnf配置文件为mysql免登陆

输入如下命令进入my.cnf文件

vim /etc/my.cnf

在这里插入图片描述在这里插入图片描述点击键盘字母i进入编辑模式,在[mysqld]下任意一行插入skip-grant-tables,然后点击Esc按键退出编辑模式,接着输入:wq保存并退出文件。
在这里插入图片描述
然后重启mysql服务service mysqld restart

二、免密登陆mysql

输入mysql -u root -p 回车
在这里插入图片描述

三.给root用户重置密码

1、首先查看当前root用户相关信息,在mysql数据库的user表中

desc user;

host:允许用户登陆的ip‘位置’%表示可以远程;
user:当前数据库的用户名;
authentication_string:用户密码;在mysql 5.7.9以后废弃了password字段和password()函数;
plugin:密码加密方式;
在这里插入图片描述

2、把root密码置为空

如果当前root用户authentication_string字段下有内容,先将其设置为空
依次输入如下命令,进行root密码置空;

use mysql;
update user set authentication_string =’’ where user =“root”;

3、退出mysql,删除/etc/my.cnf文件中添加进去的skip-grant-tables 重启mysql服务

输入quit命令退出mysql,接着输入vi /etc/my.cnf命令删除添加进去的skip-grant-tables
在这里插入图片描述在这里插入图片描述

4、使用root用户进行登陆

输入mysql -u root -p回车paaword:直接回车;

5、修该密码

alter user 'root'@'%' identified with mysql_native_password by 'xxxx';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXX';
或者 alter user 'root'@'localhost' identified with mysql_native_password by 'xxxx';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'XXX'

root@后面是user表的Host字段的内容,新安装默认是localhost, 因为在这增加了远程访问,所以将localhost手动改成了%。
改完之后可执行:flush privileges;( 重新加载权限表 )

flush privileges;

附:mysql8.0之后的版本,下面方法已经不适用。切记!!!

UPDATE user SET password=PASSWORD("新密码") WHERE user='用户名';
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十一*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值