一、mysql8修改了安全规则,不能像mysql5.7 一次性创建用户并授权,需要分批创建。
1、注意在MySQL8.0版本中创建用户一定要在配置文件中增加如下内容,来兼容旧的程序运行。
default_authentication_plugin=mysql_native_password

2、创建用户选项说明
创建用户
 create user 'user1'@'%' identified by '123456';

 创建用户说明:
 user1为自定义的用户名。
 host为登录域名。为% 时表示为任意ip,为localhost时表示本机,或者填写指定的ip地址。
 password 为密码
二、、MySQL8的权限分级
1、授予 MySQL 帐户的权限决定了该帐户可以执行哪些操作。MySQL 特权在它们应用的上下文和不同的操作级别上有所不同:
-  管理权限使用户能够管理 MySQL 服务器的操作。这些权限是全局的,因为它们不特定于特定的数据库。 
-  数据库权限适用于数据库及其中的所有对象。可以为特定数据库或全局授予这些权限,以便它们适用于所有数据库。 
-  可以为数据库中的特定对象、数据库中给定类型的所有对象(例如,数据库中的所有表)或全局为所有对象授予表、索引、视图和存储例程等数据库对象的权限所有数据库中给定类型的对象。 
-  database-all : 全库级别 *.* ---> 管理员 
-  单库级别 : test.* ---> 业务层面 
-  tables : 单表级别 test.t1 
-  columns : select(id,name) 
2、MySQL8权限的类型
权限列表参考MySQL8官方文档
3、授权基本规则
    开发用户 ---》 测试库,无drop权限
     测试人员 ---》 测试库,无drop权限
     维护DBA  ---》生产库
     稽核人员 ---》 生产库
     业务访问 ---》 查、增、删特定的数据库表
   管理员 : ALL
    开发 : Create ,Create routine,Create temporary tables,Create view,Delete ,Event
             ,Execute,Insert ,References,Select,Show databases ,Show view ,Trigger,Update
    监控 : select , replication slave , client supper
    备份 : ALL
    主从 : replication slave
    业务 : insert , update , delete ,select
三、MySQL8授权
1、管理员授权
mysql> create user 'admin'@'%' identified by '123456';
mysql> grant all on *.* to admin@'%';

普通用户单库授权

mysql> grant select,update,delete,insert on dev.* to 'dev'@'192.168.0.%';
