一、MySQL 权限管理的三大痛点
痛点 1:超级用户权限过大,缺乏真正隔离
在 MySQL 中,拥有 SUPER 权限的用户几乎可以为所欲为:
-- MySQL 中,SUPER 权限用户几乎无所不能
-- 可以查看任何用户创建的表
SELECT * FROM user_a.sensitive_data;
-- 畅通无阻
-- 可以修改任何用户的对象
ALTER TABLE user_b.customer_info ADD COLUMN test VARCHAR(100);
-- 随意修改
-- 可以删除任何用户的数据
DROP TABLE user_c.important_table;
现实问题:
- DBA 账号被盗用后,攻击者可以访问所有数据
- 内部人员滥用权限,难以追溯和防范
- 无法确定'谁在什么时候看了什么数据'
- 监管审计时,无法证明技术上的权限隔离
痛点 2:对象所有权模糊,'我的地盘'不由我做主
用户 A 创建的表,用户 B(如果权限够)可以直接操作,没有真正的所有权概念:
-- 用户 A 创建了工资表
CREATE TABLE salary ( emp_id INT, salary DECIMAL(10,2));
-- 用户 B(DBA)可以随意查看
SELECT * FROM user_a.salary;
-- 没有任何阻拦
-- 甚至可以修改结构
ALTER TABLE user_a.salary ADD COLUMN bonus DECIMAL(10,2);
现实问题:
- 敏感数据(工资、客户信息、医疗记录)无法真正保护
- 多租户场景下,数据串户风险高
- 依赖应用层过滤,一旦疏忽就会出问题
痛点 3:职责不分离,一人身兼数职
系统管理、安全管理、审计管理往往集中在少数几个超级用户手中:


