各位用户为了找寻关于mysql 8.0.16 winx64及Linux修改root用户密码 的方法的资料费劲了很多周折。这里教程网为您整理了关于mysql 8.0.16 winx64及Linux修改root用户密码 的方法的相关资料,仅供查阅,以下为您介绍关于mysql 8.0.16 winx64及Linux修改root用户密码 的方法的详细内容
连接数据库等基础操作请自行解决哈,本篇是重点记录如何改密码。
一、查询用户密码:
查询用户密码命令:
? 1select
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字段下有内容,可先将其设置为空,不然直接进行二步骤。
? 1update
user
set
authentication_string=
''
where
user
=
'root'
;#密码设置为空
二、使用ALTER修改root用户密码,方法为 ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'。如下:
? 1 2 3 4alter
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之后的版本,下面方法已经不适用。切记!!!
? 1UPDATE
user
SET
password
=
PASSWORD
(
"新密码"
)
WHERE
user
=
'用户名'
;
以上文字如有不妥之处,还请大家详细指正并留言,方便今后大家共同成长;
在此也希望本篇博客能够对大家有所帮助!
原文链接:https://www.cnblogs.com/aop-liu/archive/2019/07/09/11161277.html