How MySQL uses DNS
When a new thread connects to mysqld, mysqld will spawn a new thread to handle the request. This thread will first check if the hostname is in the hostname cache. If not the thread will call gethostbyaddr_r() and gethostbyname_r() to resolve the hostname.
If the operating system doesn't support the above thread-safe calls, the thread will lock a mutex and call gethostbyaddr() and gethostbyname() instead. Note that in this case no other thread can resolve other hostnames that is not in the hostname cache until the first thread is ready.
You can disable DNS host lookup by starting mysqld with –skip-name-resolve. In this case you can however only use IP names in the MySQL privilege tables.
If you have a very slow DNS and many hosts, you can get more performance by either disabling DNS lookop with –skip-name-resolve or by increasing the HOST_CACHE_SIZE define (default: 128) and recompile mysqld.
You can disable the hostname cache with –skip-host-cache. You can clear the hostname cache with FLUSH HOSTS or mysqladmin flush-hosts.
If you don't want to allow connections over TCP/IP, you can do this by starting mysqld with –skip-networking.
如上是mysql的官方文档说明,意思是:如果你的mysql主机查询DNS很慢或是有很多客户端主机时会导致连接很慢,由于我们的开发机器是不能够连接外网的,所以DNS解析是不可能完成的,从而也就明白了为什么连接那么慢了。
同时,请注意在增加该配置参数后,mysql的授权表中的host字段就不能够使用域名而只能够使用 ip地址了,因为这是禁止了域名解析的结果。
因此,在mysql的配置文件中增加如下配置参数:
在linux下配置文件是/etc/my.cnf
[mysqld]
skip-name-resolve
然后重启mysql
分享到:
相关推荐
Linux MySQL 访问慢解决方案 MySQL 是一个功能强大且广泛使用的关系数据库管理系统,对于 Linux 操作系统尤其重要。本文将解决 Linux 上 MySQL 访问慢的问题,提供详细的解决方案和配置方法。 问题描述 MySQL 访问...
但在某些情况下,如DNS服务器响应缓慢或者配置不当,会导致MySQL连接速度变慢。 首先,MySQL通过其内部机制使用hostname缓存来存储域名解析结果,以避免重复解析相同的域名,减少解析时间。MySQL配置参数`hostname_...
如果一个问题出现两次,那么这个问题就值得去研究下了,上次客户说MYSQL数据库很慢,我还在想,不会是PHP的问题吧?
在某些特殊情况下,如运维人员不在服务器所在地,或者需要与其他远程服务进行数据交互时,能够实现MySQL的远程连接变得尤为重要。开启远程连接不仅可以提高工作效率,还能更好地满足业务需求。 #### 三、具体设置...
SWAP是指内存与硬盘交换的活动,过多的SWAP操作可能会导致数据库响应变慢。服务器load高是指CPU负载过高,这可以通过系统命令如“ps”和“Iostat”来分析服务器负载和IO负载情况。 表不见了这种故障可能是由于误...
如果查询涉及的表非常大,即使有高效的索引,也可能因为需要传输大量数据而变慢。 2. **内存不足**:MySQL的InnoDB存储引擎有一个名为`innodb_buffer_pool_size`的配置参数,它决定了数据库在内存中缓存的数据量。...
文档通常会包含关键信息,如依赖性、安装步骤、配置选项以及可能遇到的问题和解决方法。遵循文档中的指示进行操作,以确保安装过程顺利。 4. **执行安装脚本**:一键安装包通常包含一个脚本,用于自动化安装过程。...
MySQL句柄数占用过多的情况通常是由于数据库操作频繁或者配置不当导致的,这会影响系统的整体性能,甚至可能导致系统响应变慢。解决这个问题的关键在于理解和优化MySQL的相关配置,特别是针对InnoDB存储引擎的部分。...
当遇到网站加载速度变慢或者其他与MySQL相关的问题时,首先要进行的是问题确认: 1. **全网用户打开都慢还是个别线路问题?** - 通过多地域的Ping测试或者使用第三方工具来检测是否为网络延迟问题。 2. **每次页面...
它可以连接到多个MySQL服务器,支持多种认证方法,包括SSL加密连接,确保数据传输的安全性。此外,它还允许用户保存和管理多个连接配置,方便在不同环境间快速切换。 在数据库设计方面,MySQL企业版GUI提供了强大的...
"mysql数据库连接工具免注册" 提供了一种无需注册即可使用的解决方案,使得数据库管理和维护变得更加便捷。 1. **MySQL数据库连接工具**:这些工具通常具备图形用户界面(GUI),使得非程序员也能直观地操作数据库...
- 实时监控:用户可以实时监控MySQL服务器的状态,查看进程、慢查询日志等,及时发现和解决问题。 - 版本控制:集成Git支持,实现数据库版本的控制和协同编辑,确保数据库的稳定性和一致性。 3. 高效管理: ...
1. 网络问题:如果MySQL服务器不在本地,网络延迟或不稳定可能导致连接速度变慢。 2. SQL语句优化:复杂的SQL查询或未优化的查询可能消耗大量时间。 3. 数据库性能:如果数据库服务器性能低下,或者表设计不合理,也...
然而,随着数据库规模的扩大,管理和监控MySQL变得越来越复杂。在这种背景下,Spotlight on MySQL应运而生,它是一款强大的MySQL监控工具,以其直观的界面和详尽的性能分析功能,为数据库管理员提供了宝贵的洞察力。...
### MySQL优化实施方案 #### 前言 在深入MySQL优化之前,我们首先需要理解MySQL的查询过程,因为很多查询优化工作本质上就是确保MySQL优化器能够按照预期的方式高效地执行查询。接下来,我们将从多个角度来探讨如何...
这个日志可以帮助我们识别并优化那些导致系统响应变慢的查询,从而提升数据库的整体性能。 **慢查询日志概念:** 慢查询日志主要目的是跟踪分析长时间运行的SQL语句,帮助定位性能瓶颈。当数据库中的某个查询超过了...
本文将详细介绍SQLyog在管理和连接MySQL中的应用及其重要特性。 首先,SQLyog作为MySQL的图形化管理工具,使得用户无需通过命令行就能执行常见的MySQL操作。它提供了一个友好的用户界面,包括数据浏览、查询构建、...
在MySQL数据库中,删除大表,尤其是InnoDB存储引擎的表,可能会引发严重的性能问题,尤其是在处理超过30GB的数据量时。这个问题主要是由于MySQL在删除表时需要遍历整个Buffer Pool来清理数据,这可能导致MySQL服务挂...