ubuntu系统下mysql 8重置root密码

当遗忘MySQL的root密码时,可通过特定方法重置。本文介绍了在Ubuntu系统下利用/etc/mysql/debian.cnf文件中的debian-sys-maint用户来重置root密码的步骤。首先,进入/etc/mysql/目录并以root权限打开debian.cnf文件,然后使用该文件的用户名和密码登录MySQL。在mysql数据库中更新user表,将root用户的Host设为'%',并使用ALTER USER命令设置新的mysql_native_password类型的密码。

忘记mysql的root密码是很正常的一件事情,但是想要重置root用户的密码却不简单,此处是ubuntu下重置密码的一种方式,亲测有效;

在介绍修改密码之前,先介绍一个文件/etc/mysql/debian.cnf.其主要内容如下图:在这里插入图片描述
里面有一个debian-sys-maint用户,这个用户只有Debian或Ubuntu服务器才有,所以如果您的服务器是Debain或Ubuntu,debian-sys-maint是个Mysql安装之后自带的用户,具体作用是重启及运行mysql服务。所以如果忘了root密码,可以通过这个用户来重设密码。

重置的具体操作步骤如下:

  1. 进入/etc/mysql/目录,并用root权限打开debian.cnf文件
> cd /etc/mysql
> sudo vim debian.cnf
  1. 使用这个文件中的用户名和密码进入mysql
> mysql -u debian-sys-maint -p

然后输入文件中的password值,即可进入mysql。

  1. 选择mysql数据库(用户名和密码均存储在此数据库的user表中)
> use mysql;
  1. 显示user表中的列
>show fields from user;  或者(describe user;

authentication_string这列代表的就是密码(注:mysql8以前的版本这个字段是password)

  1. 修改密码
update user set Host='%' where User='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

注意此处,使用了关键字mysql_native_password,使用password(‘123456’)的方式貌似不行,因为password函数是mysql8之前支持的方式。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值