针对mysql数据库,提供给他人的数据库管理,或者仅支持数据库的查看权限,我们可以通过以下方法建立mysql的相关账号,赋予指定的权限;
案例要求:
要求给改数据库建立
一个只读账号,赋予增删改查所有权限:
账号:readonly
密码:H2fIg^@zcfzy
具体操作过程:
#1.创建一个账号
CREATE USER 'readonly'@'%' IDENTIFIED BY 'H2fIg^@zcfzy';
#2.赋予权限:
###`1023`:指定数据库名
####赋予权限(查询,插入,删除,修改)
GRANT select ON `1023`.* TO 'readonly'@'%' IDENTIFIED BY 'H2fIg^@zcfzy';
GRANT insert ON `1023`.* TO 'readonly'@'%' IDENTIFIED BY 'H2fIg^@zcfzy';
GRANT delete ON `1023`.* TO 'readonly'@'%' IDENTIFIED BY 'H2fIg^@zcfzy';
GRANT update ON `1023`.* TO 'readonly'@'%' IDENTIFIED BY 'H2fIg^@zcfzy';
##所有权限
GRANT all privileges ON `1023`.* TO 'readonly'@'%' IDENTIFIED BY 'H2fIg^@zcfzy';
GRANT all privileges ON 1023_bto.* TO 'readonly'@'%' IDENTIFIED BY 'H2fIg^@zcfzy';
GRANT all privileges ON myemployees.* TO 'readonly'@'%' IDENTIFIED BY 'H2fIg^@zcfzy';
###一定要刷新:
FLUSH PRIVILEGES;
和其他链接方式一样,成功即可使用
撤销相关权限账号
###撤销用户对库的查询权限
REVOKE SELECT ON common.* FROM 'readonly';
###撤销用户对库的所有权限(特殊:usage权限是用户一经创建就拥有的,使用revoke命令无法收回:)
REVOKE all privileges ON common.* FROM 'readonly';
FLUSH PRIVILEGES;
#3.查看用户权限:
show grants;
查看指定用户权限
show grants for chushiyan@localhost;
以上内容仅供参考,具体的详细操作可以进一步学习!!!