当前位置: 首页 > 编程笔记 >

MySql使用skip-name-resolve解决外网链接客户端过慢问题

池兴邦
2023-03-14
本文向大家介绍MySql使用skip-name-resolve解决外网链接客户端过慢问题,包括了MySql使用skip-name-resolve解决外网链接客户端过慢问题的使用技巧和注意事项,需要的朋友参考一下

腾讯云上面搭建的mysql使用开发的电脑上navicat进行访问时总是特别的慢,原来是Mysql会对请求的地址进行域名解析,开发的电脑并没有域名,所以会导致特别的慢,使用以下进行解决

[mysqld]
skip-name-resolve
skip-grant-tables

官方的解释

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主机查询DNS很慢或是有很多客户端主机时会导致连接很慢,由于我们的开发机器是不能够连接外网的,所以DNS解析是不可能完成的,从而也就明白了为什么连接那么慢了。同时,请注意在增加该配置参数后,mysql的授权表中的host字段就不能够使用域名而只能够使用 ip地址了,因为这是禁止了域名解析的结果。

总结

以上所述是小编给大家介绍的MySql使用skip-name-resolve解决外网链接客户端过慢问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍连接MySql速度慢的解决方法(skip-name-resolve),包括了连接MySql速度慢的解决方法(skip-name-resolve)的使用技巧和注意事项,需要的朋友参考一下 最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。 原因

  • 本文向大家介绍完美解决mysql客户端授权后连接失败的问题,包括了完美解决mysql客户端授权后连接失败的问题的使用技巧和注意事项,需要的朋友参考一下 在本地(192.168.1.152)部署好mysql环境,授权远程客户机192.168.1.%连接本机的mysql,在iptables防火墙也已开通3306端口。 如下: mysql> select host,user,password from

  • 问题内容: 我正在尝试连接到本地MySQL服务器,但我一直收到错误消息。 这是代码。 和错误: 我已经设置了类路径,确保my.cnf的“跳过网络”选项已被注释掉。 Java版本是1.2.0_26(64位)mysql 5.5.14 mysql连接器5.1.17 我确保用户可以访问我的数据库。 问题答案: 我的两个程序都遇到了相同的问题。我的错误是这样的: 我花了几天时间解决这个问题。我已经测试了不同

  • 描述 (Description) 如果您的网站包含大量导航,那么屏幕阅读器通过阅读整个导航来获取网站内容有点困难。 要解决此问题,您可以使用页面顶部的skip link并使用.show-on-focus类隐藏内容和tabindex = "0"属性以使元素可聚焦。 例子 (Example) 以下示例演示了在Foundation中使用skip links属性 - <!doctype html>

  • 按照这里的讨论,我使用以下步骤使外部客户端(基于 kafkajs)连接到 OpenShift 上的 Strimzi。这些步骤从这里开始。 被编辑为如下所示。 要提取证书并在客户端中使用它,我运行了以下命令: 请注意,我必须在我的macOS上使用,而不是,如留档所示。 这是从他们的 页面和他们的文档改编的客户端。 当我从具有的文件夹运行时,我收到一条连接拒绝消息。 我错过了什么?

  • 这可能是基于意见的问题。 我想使用古斯HTTP客户端,因为许多人认为它比Symfony HTTP客户端更好,Cloudflare在其PHP API中也使用古斯HTTP客户端。但是,我使用Symfony HTTP客户端和古斯HTTP客户端执行了一个简单的测试。结果表明,古斯HTTP客户端比Symfony HTTP客户端慢得多。 我想知道/理解为什么拥有如此著名的声誉的HTTP客户端缺乏速度。还是我做