首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AI 引入后,MySQL 列权限控制,插入,更新,读取,删除 --有了AI 真是越帮越忙

AI 引入后,MySQL 列权限控制,插入,更新,读取,删除 --有了AI 真是越帮越忙

作者头像
AustinDatabases
发布2026-06-03 13:04:11
发布2026-06-03 13:04:11
570
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

PostgreSQL “改个字段就锁表”黑历史--DDL操作中的问题解决了吗?

AI 引入DBA 工作,造成工作量增加,忙不过来,根本忙不过来!!!

这不是最近上了AI要求对数据库有一些操作,PostgreSQL还好有严格的对列设置的权限,我们可以严格限制AI账号对数据库某些列的操作权限。不过这事情到了MySQL就是一个难点了。

其实这也并不是什么难点,只是很多使用MySQL的业务场景很少触及现在AI环境中对数据库的细致化的权限管理的问题。

我们做一下如下的练习假设我们有一个核心表,在使用了AI 对表中的数据进行操作,一些核心的字段我们不能让他获取数据,在AI修改的数据中,只能有一部分字段,同时删除数据也是一样,只能是设定的字段的数据可以删除,更新数据也是同样的原理。

首先我们创建一个表,包含了一些公司的核心信息。

代码语言:javascript
复制
CREATE TABLE employee( id BIGINT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), department VARCHAR(50), salary DECIMAL(10,2), phone VARCHAR(20), email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
测试表
测试表

然后我们灌入数据

代码语言:javascript
复制
INSERT INTO employee (name,department,salary,phone,email) VALUES ('Tom','DBA',20000,'13800000001','tom@test.com'), ('Jerry','DEV',18000,'13800000002','jerry@test.com'), ('Lucy','OPS',15000,'13800000003','lucy@test.com');

下面我们创建AI AGENT要操作的账号,后续AI agent操作都是要通过这个账号进行对数据库的操作,不会给任何其他的账号,主要防止

代码语言:javascript
复制
CREATE USER 'column_user'@'%' IDENTIFIED BY 'Test@123456';

AI 乱删数据

AI 插入错误位置数据

AI 删库,删表,删字段

AI 乱更新数据位置

等等对AI可能的误操作进行各种的防护。

1 只允许查看表中的三个字段,不许可看员工的工资,电话,和邮箱。

代码语言:javascript
复制
GRANT SELECT(id,name,department) ON employee TO 'column_user'@'%';

以上操作完毕后,

查看结果问题
查看结果问题

2 插入数据限制

代码语言:javascript
复制
mysql> GRANT INSERT(name,department,phone) ON employee TO 'column_user'@'%';
Query OK, 0 rows affected (0.01 sec)

数据库插入数据失败
数据库插入数据失败

3 针对更新数据

代码语言:javascript
复制
mysql> 
mysql> GRANT UPDATE(phone,email) ON security_test.employee TO 'column_user'@'%';
ERROR 1049 (42000): Unknown database 'security_test'
mysql> 
mysql> GRANT UPDATE(phone,email) ON employee TO 'column_user'@'%';
Query OK, 0 rows affected (0.00 sec)

image
image

4 删除这里注意MYSQL不支持delete 列控制,(他当然支持不了))所以......,删除的权限这里无法赋予。

这里我们列举出2种方案

1 通过更新的方案设置标记位来标记,1为存在 2 为删除 的方式来进行逻辑删除

2 通过VIEW的方式集训条件的限制,实际上我们删除是想限制 where后面的条件,那么你就产生要给VIEW然后 条件只能从VIEW里面的列来控制,这样就可以控制删除的权限了。

权限查看
权限查看

在AI进入到数据库后,数据库的权限控制会越来越丰富复杂,这块数据库的还应该与时俱进,可以更细粒度的控制权限。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档