mysql密码加密方式

mysql密码加密方式

   小樱     2020年7月11日 04:29     204

1、mysql5.6和5.7版本的加密方式

mysql5.6和5.7版本创建用户可以直接使用grant命令去创建

GRANT all privileges ON *.* TO 'testuser'@'%' IDENTIFIED BY '123456';

1.png

可以看到其加密方式是mysql_native_password。

 

2、mysql8.0的加密方式

mysql8.0创建用户不能直接使用grant命令,需要使用create user命令。

CREATE USER 'testroot'@'%' IDENTIFIED BY '123456';

GRANT all privileges ON *.* TO 'testroot'@'%';

2.png

可以看到其加密方式是caching_sha2_password。

 

3、如果mysql8.0版本使用mysql_native_password方式。

只要在其中添加WITH mysql_native_password即可。

CREATE USER 'testroot'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

GRANT all privileges ON *.* TO 'testroot'@'%';

flush privileges;

 

4、客户端连接

如果使用naticat去连接msyql8.0的话,其默认方式是mysql_native_password。

就会出现下边的错误。

3.png

如果直接使用命令行连接会提示下边的错误。

4.png

以上两种问题,只要将mysql8.0用户加密方式设置为mysql_native_password,就能连接。

 

5、更改root加密方式

如果已经存在root用户,并且host是%。可以使用下边命令更改其加密方式。

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

 


其他文章