1.DCL就是Data Control Language一般就是对于用户的权限做一些授权操作之类的2.直接构建用户基于用户操作对应库表的权限1. 用户的操作创建用户create user 用户名IP地址 identified by 密码;创建一个用户用户名是zheng密码是zheng采用默认的IP%。#创建一个用户用户名是zheng密码是zheng。createuserzhengidentifiedbyzheng;createuserzhang%identifiedbyzhang;如果指定了ip则表示只有这个ip可以登录默认的IP是%作用等同于通配符用户roothost是localhost表示root这个用户只能通过本机登录如果host是%表示无论是本地 还是远程都可以登录删除用户drop user 用户名;删除上面的用户zhangdropuserzhang;Ps创建完毕的用户密码插件默认是caching_sha2_password正常黑窗口是可以连接的。如果Navicat版本比较低无法连接需要将密码插件修改为mysql_native_password。2. 授权给用户赋予操作指定库和表的权限。语法grant all on 库名.表名 to 用户名;all代表赋予这个库和表的所有操作权限。库名和表名如果想赋予全部的使用*代替。# 赋予zheng用户可以操作test库下所有表的所有操作权限。grantallontest.*tozheng;发现赋予权限后依然无法连接原因是zheng用户默认的加密插件版本太低是caching_sha2_password无法识别通过alter语句修改一下插件信息。但是黑窗口是可以连接的alteruserzheng%identifiedwithmysql_native_passwordbyzheng;正常连接后可以看到具体的赋予权限的库表信息注意没有授权的话是连接不上的3. 撤销授权语法revoke all on 库名.表名 from 用户名;# 撤销掉对zheng用户赋予的test库中所有表的所有权限revokeallontest.*fromzheng;