You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中skip_name_resolve和skip_grant_tables变量的作用是什么?

MySQL skip_name_resolve 与 skip_grant_tables 参数作用说明

skip_name_resolve

该参数用于控制MySQL服务端在处理客户端连接时的DNS域名解析逻辑,默认处于关闭状态。

  • 开启(设置为ON)后,MySQL会完全跳过所有域名解析步骤:不会将客户端的IP地址反解析为域名,也不会校验域名与IP的对应关系,所有账号权限匹配仅使用客户端IP地址完成
  • 可以大幅降低高并发场景下的连接建立延迟,同时避免DNS服务故障、解析不稳定导致的连接超时、无响应甚至被异常拒绝的问题
  • 开启后,mysql.user权限表中所有基于域名配置的账号规则会直接失效,仅支持使用IP地址、%通配符配置允许访问的客户端来源
  • 大部分新版本MySQL支持通过SET GLOBAL skip_name_resolve = ON;动态调整生效,老版本需要写入my.cnf(Windows下为my.ini)的[mysqld]段落,重启服务后生效

skip_grant_tables

该参数是MySQL的应急运维参数,专门用于权限异常、忘记超级管理员密码等场景,无法在服务运行时动态开启,只能在启动阶段配置。

  • 开启后,MySQL会完全跳过所有权限校验逻辑:不会校验账号是否存在、密码是否正确,所有接入的客户端默认拥有最高的ALL PRIVILEGES权限,可以任意读写所有库表、修改账号权限
  • 开启后账号管理相关的语句(如ALTER USER、SET PASSWORD)会暂时失效,需要先执行FLUSH PRIVILEGES;加载权限表后才能正常操作
  • 该参数的安全风险极高,开启时务必限制仅本地网络可访问MySQL端口,避免数据被恶意窃取、篡改,完成运维操作后必须第一时间移除该参数并重启服务,恢复正常权限校验

内容的提问来源于stack exchange,提问作者Adrián

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:54:07