欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql-8.0.16-winx64/Linux修改root用户密码

程序员文章站 2022-05-29 10:29:30
连接数据库等基础操作请自行解决哈,本篇是重点记录如何改密码。 一、查询用户密码: 查询用户密码命令: host:允许用户登录的ip‘位置'%表示可以远程; user:当前数据库的用户名; authentication_string:用户密码(后面有提到此字段); 二、 设置(或修改)用户密码: 默认 ......

 

连接数据库等基础操作请自行解决哈,本篇是重点记录如何改密码。

 

一、查询用户密码:

查询用户密码命令:

select  host,  user,  authentication_string  from  mysql.user ;

host允许用户登录的ip‘位置'%表示可以远程;

user:当前数据库的用户名;

authentication_string用户密码(后面有提到此字段);

 

二、 设置(或修改)用户密码:

默认root密码为空的话 ,下面使用navicat就无法连接(之前我装的5.7好像还可以),所以这里需要修改root的密码。

此乃关键一步。为此被坑了好长时间,后来查阅很多才知道在mysql 5.7.9以后废弃了password字段和password()函数;

authentication_string:字段表示用户密码。

 

三、修改root密码的步骤:

一、如果当前root用户authentication_string字段下有内容,可先将其设置为空,不然直接进行二步骤。

update user set authentication_string='' where user='root';#密码设置为空

 

二、使用alter修改root用户密码,方法为 alter user  identified by '新密码'。如下:

alter user 'root'@'%' identified with mysql_native_password by 'xxxx';
alter  user  'root'@'%' identified  with  mysql_native_password  by  'mypwd#2019';

或者  alter user 'root'@'localhost' identified with mysql_native_password by 'xxxx';

alter user 'root'@'localhost' identified with mysql_native_password by 'mypwd#2019'

 

提示:

root@后面是user表的host字段的内容,新安装默认是localhost, 因为在这增加了远程访问,所以将localhost手动改成了%。

改完之后可执行:flush privileges;( 重新加载权限表 )
flush privileges;

 

注意:mysql8.0之后的版本,下面方法已经不适用。切记!!!
update user set password=password("新密码") where user='用户名'; 

 

以上文字如有不妥之处,还请大家详细指正并留言,方便今后大家共同成长;

在此也希望本篇博客能够对大家有所帮助!

tue jul 09 2019 23:44:19 gmt