当前位置: 首页
数据库
MySQL远程登录DNS解析慢导致权限验证延迟的解决方法

MySQL远程登录DNS解析慢导致权限验证延迟的解决方法

热心网友 时间:2026-07-23
转载

MySQL远程登录卡顿多因服务端反向DNS解析超时。关闭skip-name-resolve可解决,但需同步将mysql user表Host字段从域名改为IP或%,否则连不上。验证方法包括临时停DNS服务、IPv6测试、检查变量等。修改后必须重启服务,注意配置文件路径不冲突。

MySQL远程登录时卡在“Connecting to…”阶段,很大概率是服务端在执行反向DNS解析时出现阻塞。这并非网络连通性或密码错误的问题,而是服务端调用gethostbyaddr()函数超时所致。解决方案很明确:启用skip-name-resolve参数,但必须同步调整权限表,否则依然无法成功连接。

如何解决MySQL远程登录时DNS解析缓慢导致的权限验证延迟?

如何确认DNS反向解析导致连接缓慢?

无需猜测,以下几种低成本验证方法能快速定位问题:

  • 临时关闭本机DNS服务:sudo systemctl stop systemd-resolved,然后执行mysql -h 192.168.1.50 -u app -p;如果瞬间连接成功,基本可以锁定原因
  • 改用IPv6回环地址测试:mysql -h ::1 -u root -p;若IPv4连接卡顿而IPv6立即响应,说明IPv4反向解析存在阻塞
  • 登录MySQL后执行SELECT @@skip_name_resolve;,返回0表示未开启跳过解析
  • 通过SHOW PROCESSLIST;查看,若出现大量状态为Connecting的线程,且Host列显示IP地址(如10.0.2.15:52183)而非域名,这就是典型特征

如何正确启用skip-name-resolve

该参数仅对服务端生效,且必须写在[mysqld]配置段下。如果写错位置或修改后不重启服务,操作将毫无意义:

  • 编辑配置文件(Linux常见路径:/etc/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf;Windows通常位于安装目录下的my.ini
  • [mysqld]段下添加:skip-name-resolve = ON
  • 必须重启服务:sudo systemctl restart mysql(使用reload不会生效)
  • 验证是否生效:mysql -e "SHOW VARIABLES LIKE 'skip_name_resolve';"返回ON才算成功
  • Ubuntu/Debian系统下可能被!includedir /etc/mysql/conf.d/覆盖,建议先运行mysqld --verbose --help | grep "Default options"确认最终加载的配置文件路径

启用skip-name-resolve后为何反而无法连接?

因为跳过DNS解析后,mysql.user表中的Host字段只能按字面值匹配IP或%,所有基于域名的授权记录将全部失效:

  • 典型报错:Access denied for user 'app'@'192.168.1.100',但执行SELECT User, Host FROM mysql.user;却显示'app'@'web01.example.com'
  • 本地使用localhost可以连接,换成127.0.0.1就被拒绝——这是权限粒度变化的重要信号
  • 修复方法:UPDATE mysql.user SET Host = '192.168.1.100' WHERE User = 'app' AND Host = 'web01.example.com'; FLUSH PRIVILEGES;
  • 批量检查问题账号:SELECT User, Host FROM mysql.user WHERE Host NOT IN ('%', 'localhost', '127.0.0.1', '::1');
  • 在Kubernetes等动态IP环境下需谨慎使用:Pod IP频繁变动,硬编码IP不可持续,需要评估是否真的适合关闭反向解析

最容易被忽略的操作要点是:修改配置后未重启服务、改错了配置文件位置、或者只修改了服务端却没有同步更新mysql.user表——这三个环节中任何一个缺失,都会导致问题看起来“修复了但实际并未解决”。

来源:https://www.php.cn/faq/2799674.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
自增主键值从何而来?深入理解原理,告别只会auto_increment

自增主键值从何而来?深入理解原理,告别只会auto_increment

KingbaseES推荐使用serial、bigserial、显式sequence或identity列实现自增主键。serial创建integer并关联序列,bigserial对应bigint;显式sequence可自定义起始值等参数;identity有generatedbydefault(允许指定值)与always(禁止)两种模式。

时间:2026-07-25 22:22
Linux下瀚高数据库授权文件过期及替换解决方案

Linux下瀚高数据库授权文件过期及替换解决方案

在银河麒麟系统下,瀚高数据库hgdb-4 5试用授权20天到期后需替换正式授权文件。正确操作:停止服务,备份旧文件,将授权文件复制到 opt highgo hgdb-4 5 etc lic 并命名为hgdb lic,设置权限600和属主highgo:highgo,再启动服务。禁止直接修改data目录下的license info文件。

时间:2026-07-25 22:22
Oracle BLOB实时同步的5大技术挑战与难点解析

Oracle BLOB实时同步的5大技术挑战与难点解析

OracleBLOB实时同步面临分片组装、多列隔离、长事务跨窗口、事务回滚及大对象资源控制等技术挑战,必须在日志中精确还原完整字段值,才能保证源端与目标端数据完全一致,这对同步系统的稳健性提出了高要求。

时间:2026-07-25 22:22
MySQL禁用redo日志导致全备失败

MySQL禁用redo日志导致全备失败

MySQL全量备份失败是由于数据定义语言操作触发排序索引构建,禁用重做日志导致XtraBackup无法获取一致性备份。测试验证表明,优化表语句即使无数据也会触发该问题。根本原因在于排序索引构建过程跳过了重做日志记录,破坏了备份的一致性。

时间:2026-07-25 20:35
Kafka架构图优化与改进的全面详细步骤与实践指南

Kafka架构图优化与改进的全面详细步骤与实践指南

Kafka作为实时数据流处理的核心中间件,其底层架构虽已相当成熟,但在实际生产环境中,要充分发挥其性能潜力,仍需落实到具体的调优与架构改造上。核心目标可归纳为三点:如何承载更高的吞吐量、如何保障数据不丢失、以及故障发生时如何快速恢复。本文将从这几个关键方向出发,深入探讨如何真正榨干Kafka集群的性

时间:2026-07-25 20:35
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜