在 MySQL 中,”跳过域名解析”通常指通过配置 skip-name-resolve 选项禁用 DNS 反向查询,以提升连接速度和解决可能的网络问题,以下是详细操作:

修改 MySQL 配置文件
- Linux: 编辑
/etc/my.cnf或/etc/mysql/my.cnf - Windows: 编辑
my.ini(通常在 MySQL 安装目录)
在 [mysqld] 部分添加:
[mysqld] skip-name-resolve
重启 MySQL 服务
- Linux:
sudo systemctl restart mysql # 或 mysqld
- Windows:
通过服务管理器重启 “MySQL” 服务。
验证配置生效
登录 MySQL 执行:
SHOW VARIABLES LIKE 'skip_name_resolve';
若返回 ON 表示已启用。
⚠️ 重要注意事项
-
用户权限需使用 IP 地址
启用后,MySQL 授权表中的host字段必须使用 IP 地址(而非域名),否则用户将无法登录。
-- 正确(使用 IP) CREATE USER 'user'@'192.168.1.100' IDENTIFIED BY 'password'; -- 错误(使用域名将失效) CREATE USER 'user'@'example.com' IDENTIFIED BY 'password';
-
本地连接问题
- 避免使用
localhost(它依赖域名解析),改用0.0.1连接。 - 若需保留
localhost,Unix 系统下需确保mysql.user表存在'user'@'localhost'条目。
- 避免使用
-
性能提升
适用于高并发场景,避免 DNS 查询延迟(尤其 DNS 服务不稳定时)。
常见问题解决
Q:启用后用户无法登录?
检查用户权限是否使用 IP 地址:
SELECT user, host FROM mysql.user; -- 确保 host 列是 IP 或通配符(如 `192.168.%`)
Q:如何临时测试效果?
启动 MySQL 时直接加参数(不修改配置):

mysqld --skip-name-resolve
通过以上步骤,MySQL 将跳过域名解析,直接使用 IP 处理连接,提升效率并避免 DNS 相关问题,务必同步调整用户权限!
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/284687.html

