如何设置只允许特定sql_mysql操作限制
发布时间 - 2026-01-06 00:00:00 点击率:次应为每个应用创建最小权限专用用户,按需授予SELECT、INSERT等具体权限,禁用高危操作并定期审计。
要限制 MySQL 用户只能执行特定的 SQL 操作(比如只允许 SELECT,禁止 INSERT/UPDATE/DELETE),核心方法是通过 **精细化的权限控制**,而不是靠应用层过滤或 SQL 解析——后者不可靠且易绕过。
创建最小权限专用用户
不要复用高权限账号(如 root 或管理员账
号)。应为每个应用/场景单独建用户,并只授予必要权限:
- 只读需求:仅授权
SELECT权限到指定数据库或表 - 写入限制:若需写入,可只授
INSERT(不给UPDATE/DELETE),或进一步限定到某几张表 - 避免使用
GRANT ALL PRIVILEGES,哪怕在测试环境也应养成最小权限习惯
按库、按表精确授权
MySQL 支持多层级权限(全局 → 数据库 → 表 → 列),推荐按需下放:
-- 只允许 user_ro 对 db_app 的所有表执行 SELECT GRANT SELECT ON db_app.* TO 'user_ro'@'192.168.1.%';-- 只允许 user_log 对 db_app.log_table 执行 INSERT(常用于日志写入) GRANT INSERT ON db_app.log_table TO 'user_log'@'%';
-- 刷新权限使生效 FLUSH PRIVILEGES;
注意:REVOKE 可撤销已有权限,例如 REVOKE UPDATE, DELETE ON db_app.* FROM 'user_ro'@'%';
禁用高危操作(补充防护)
权限控制是主防线,但可叠加以下配置增强安全性:
- 在
my.cnf中设置sql_safe_updates = 1,防止没有 WHERE 的UPDATE/DELETE(对已授权用户生效) - 禁用本地文件操作:启动时加
--secure-file-priv=NULL,阻止LOAD DATA INFILE/SELECT ... INTO OUTFILE - 避免开放
PROCESS、SUPER、FILE等管理类权限,除非绝对必要
验证与持续维护
授权后务必验证实际行为是否符合预期:
- 用新用户登录,尝试执行非授权语句(如
DELETE FROM t1),确认报错ERROR 1142 (42000): DELETE command denied - 定期审计用户权限:
SHOW GRANTS FOR 'username'@'host'; - 删除不再使用的账号:
DROP USER 'old_user'@'%';
权限不是设一次就一劳永逸,需随业务变化动态调整。
# mysql
# app
# sql
# NULL
# for
# select
# Error
# delete
# 数据库
# 只允许
# 按需
# 已有
# 不给
# 几张
# 报错
# 也应
# 启动时
# 管理类
# 是否符合
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在搬瓦工VPS快速搭建网站?
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
如何用好域名打造高点击率的自主建站?
如何用搬瓦工VPS快速搭建个人网站?
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
如何获取免费开源的自助建站系统源码?
如何在万网主机上快速搭建网站?
Laravel如何为API生成Swagger或OpenAPI文档
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
Laravel怎么上传文件_Laravel图片上传及存储配置
Android自定义控件实现温度旋转按钮效果
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
个人网站制作流程图片大全,个人网站如何注销?
Android使用GridView实现日历的简单功能
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
JS去除重复并统计数量的实现方法
iOS验证手机号的正则表达式
如何在阿里云香港服务器快速搭建网站?
进行网站优化必须要坚持的四大原则
如何在景安服务器上快速搭建个人网站?
Linux网络带宽限制_tc配置实践解析【教程】
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
canvas 画布在主流浏览器中的尺寸限制详细介绍
详解jQuery中基本的动画方法
详解Android中Activity的四大启动模式实验简述
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
如何利用DOS批处理实现定时关机操作详解
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
Laravel如何实现模型的全局作用域?(Global Scope示例)
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
如何基于PHP生成高效IDC网络公司建站源码?
如何快速辨别茅台真假?关键步骤解析
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
如何快速生成橙子建站落地页链接?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
Linux后台任务运行方法_nohup与&使用技巧【技巧】
简单实现Android验证码
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
黑客如何利用漏洞与弱口令入侵网站服务器?
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程

