日常使用中,有时候只希望给客户看到部分数据库,那么该如何给用户权限呢
创建用户
CREATE USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
#创建为user用户,密码为root
给用户授权
#授权用户所有表及权限
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
#单表授权
GRANT ALL PRIVILEGES ON sys.* TO 'user'@'%';#sys为数据库
#多个表授权就多次单授权,没有找到一次性多表授权的方法,以后有了会添加上
移除权限
revoke ALL on *.* from 'user'@'%';
操作权限
#如果可以随便操作该数据库直接用all
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
#授权增删改查
GRANT select, insert, update, delete ON *.* TO 'user'@'%';
#权限
select #查询
insert #新增
update #修改
delete #删除
create #建表
alter #修改表结构
drop #删除表
references #外键操作
create temporary tables #临时表
index #索引
create view #创建视图
show view #查询视图
#存储过程
create routine
alter routine
execute
权限查询
show grants;#查自己的
show grants for 'user'@'%';#查指定的