MySQL5.7的账号回收权限
因MySQL无排除表权限功能,测试隔离表回收权限以下方案:
1,代理账号(角色)方案
方案:创建一个代理账号(角色),对库的800多张表逐个赋权,58张隔离表赋只读,其他30多个账号绑定到这个代理账号
优点:30多个读写账号不用都对890多个表赋权,只需代理账号赋权即可,原有30多读写账号权限失效,以代理账号权限为准。
缺点:1,需腾讯云后台打开代理账号配置
2,每个表都要赋权,每个新加表也要赋权
3,增加和删除绑定到代理账号,连接必须断开才能恢复原有权限
4,新加表和修改代理账号权限不需要断开连接
回退:删除绑定到代理账号,连接断开重连生效
2,视图方案
方案:将58张隔离表rename到online实例的新库,在online上建同表名的视图映射到新库的表,50多个账号赋予新库的select权限,
优点:不会对现有账号系统改变,只增加新库的select权限
缺点:用视图来映射表,不知道对线上SQL执行计划是否有影响
回退:删除映射视图,rename表回库