mysql 8.0.22

1. 修改root密码

   a.前提:网上办法有3种,4种的,但我实验只有一种修改成功了,命令如下:

   alter user '用户名'@‘host’ identified with mysql_native_password by '新密码';

  

 

2.创建用户,直接往user表插入数据,报错:

ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value

出现错误的原因是mysql默认配置严格模式,该模式禁止通过insert的方式直接修改mysql库中的user表进行添加新用户。

{ 此解决方法未实验:
解决方法是修改my.ini(Windows系统)或my.conf(Linux系统)配置文件,以linux系统为例将:

sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

修改成:

sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

然后重启mysql服务

service mysql restart

再次创建用户便可以成功了}

采用正确的方法操作用户:

 1.创建用户:

create user 'mayiic_dev'@'%' identified by 'mayiic123';

2.修改加密规则:

alter user 'mayiic_dev'@'%' identified with mysql_native_password by 'mayiic123';

3.赋予insert,select,update权限和全部权限,“test01”为数据库,“mayiic_dev”为用户:

grant insert,select,update on test01.* to 'mayiic_dev'@'%';
grant all privileges on test01.* to 'mayiic_dev'@'%';

4.刷新权限:

flush privileges;

5.查看权限:

show grants for mayiic_dev;

6.删除用户:

drop user mayiic_dev@'%';

7.用客户软件如navicat连接mysql报错“caching-sha2-password”,原因是mysql8.0采用了新的更安全的验证方式,修改配置文件

vim /etc/my.cnf