Mysql8.0.17修改root密码、加密方式,以及修改普通用户的加密方式。

一、此版本,修改root密码:
很多之前语句无效报错。亲测下面这语句有效,123456为设置的密码:
设置新密码的命令:

alter user 'root'@'localhost' identified by '123456';

二、修改root用户的加密方式:
1、登录mysql。

mysql -u root -p

2、通过执行以下命令查看对应用户的加密方式,也可以将user='root’改成比如user=‘test’,来查看用户test的加密方式。

use mysql;
select user,plugin from user where user='root';

3、执行命令修改加密方式

 alter user 'root'@'localhost' identified with mysql_native_password by '你的密码';

4、使配置生效

 flush privileges;

三、修改普通用户的加密方式:
比如Django和Mysql配合使用,由于Django不支持新版本Mysql的加密方式,会出现如下两条报错,此时由于你Django项目的数据库用的用户非root,而是其他用户,所以需要修改其他用户的密码加密方式。
_mysql_exceptions.OperationalError: (2059, )
django.db.utils.OperationalError: (2059, )

修改方法:
1、输入登陆指令和密码并登陆:

mysql -u root -p

2、输入:

use mysql;

3、继续输入:

select user,host from user;

此时可以显示出各用户对应的host名,也就是修改指令中@后面的内容。
4、根据查询结果,紧接着输入修改加密方式指令:
例如:根据上面查询结果,test用户的host为%。所有指令如下:

alter user 'test'@'%' identified with mysql_native_password by 'test123';

5、使配置生效

 flush privileges;

你可能感兴趣的:(Mysql,修改Mysql密码加密方式,MySql)