`

mysql链接变慢的解决方法

阅读更多
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
分享到:
评论

相关推荐

    PHP远程连接MYSQL数据库非常慢的解决方法

    如果一个问题出现两次,那么这个问题就值得去研究下了,上次客户说MYSQL数据库很慢,我还在想,不会是PHP的问题吧?

    解决Navicat表中数据响应很慢的问题.md

    在工作过程中发现,在连接远程数据库的时候发现,打开数据库中的表时,响应特别慢,我都怀疑是不是自己电脑卡了,后面百度了解到可能是Mysql的默认...所以当连接超时的时候,又会重新去建立一个连接,就会导致访问变慢

    Java常见面试题208道.docx

    155.什么情况会导致 kafka 运行变慢? 156.使用 kafka 集群需要注意什么? 十六、Zookeeper 157.zookeeper 是什么? 158.zookeeper 都有哪些功能? 159.zookeeper 有几种部署模式? 160.zookeeper 怎么保证主从节点...

    怎么架构生产数据库--生产数据库优化的一种方式

    很多其他系统、接口以及第三方系统等围绕着核心业务,要么直接连接该核心数据库要么通过其他方式与核心数据库交互,进而导致核心数据库数据量增大,连接数和并发量增多,整体数据库的性能变慢。解决这一问题的根本...

    二十三种设计模式【PDF版】

    设计模式之 Template(模板方法) 实际上向你介绍了为什么要使用 Java 抽象类,该模式原理简单,使用很普遍. 设计模式之 Strategy(策略) 不同算法各自封装,用户端可随意挑选需要的算法. 设计模式之 Chain of ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,主要面向中小企业 中小型企业 PostgreSQL 号称“世界上最先进的开源数据库“,可以运行在多种平台下,是tb级数据库,而且性能也很...

    Activiti6.0教程例子下载

    工作流引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。 1.2. BPMN2.0规范 BPMN(Business Process Model and Notation)--业务流程模型与符号。 BPMN是...

    jpivot学习总结.doc

    该标签的作用是给一个 dimension 或一个 level 里的所有的 members 加上超链,使得它们变的可以进行点击操作。生成的 URL 中包含这个 member 的唯一名称,这个标签必须要在一个 table 或一个 query 的标签里嵌套使用...

    计算机实习日记

    我发现这位同事有一本工作日记,我跟他借来看了一下,里面记载的都是他在工作中遇到的各种各样的问题,有遇到问题的时间、地点、故障的触发条件、故障现象的详细描述、合理的解决方法以及心得体会等等。这些都是宝贵...

Global site tag (gtag.js) - Google Analytics