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