MySQL远程连接慢的问题,当 mysql client 发起连接请求时,MySql Server 会主动去查 client 的主机名。
1,当 mysql client 发起连接请求时,MySql Server 会主动去查 client 的主机名。
2,首先查找Windows系统目录下 /etc/hosts 文件,搜索域名和IP的对应关系。
3,如果hosts文件没有,则查找DNS设置,如果没有设置DNS服务器,,会立刻返回失败;如果设置了DNS服务器,就进行反向解析,直到timeout。
解决办法
第一种方法 修改Hosts
在 MySql Server 所在服务器上,修改 Windows 的 hosts 文件,增加一行记录,如:
100.ZZZ.YYY.XXX dummy.ju690.cn
然后在 100.ZZZ.YYY.XXX 机器上用 Python 发起连接请求,经测试,可以正常连接,说明 MySql Server 这下可以通过 getnameinfo() 解析出100.ZZZ.YYY.XXX 的主机名了。
但这种方法很机械,所以一般采用下面这种方法。
第二种 修改MySql 的配置文件 my.ini
The solution:
Just add skip-name-resolve option to your MySQL configuration file (my.ini).
在 MySql Server 的配置文件 My.ini 中,增加如下两行:
[mysqld]
skip-name-resolve
抖猫高清去水印微信小程序,源码为短视频去水印微信小程序全套源码,包含微信小程序端源码,服务端后台源码,支持某音、某手、某书、某站短视频平台去水印,提供全套的源码,实现功能包括:1、小程序登录授权、获取微信头像、获取微信用户2、首页包括:流量主已经对接、去水印连接解析、去水印操作指导、常见问题指引3、常用工具箱:包括视频镜头分割(可自定义时长分割)、智能分割(根据镜头自动分割)、视频混剪、模糊图片高
它将禁止 MySql Server 对外部连接进行 DNS 解析,使用这一选项可以消除 MySql 进行 DNS 解析的时间。
但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求。
可能的后果
如果开启 skip-name-resolve 选项,要确认 MySql 是否采用过主机名的授权,
在 mysql 中运行如下命令:
mysql> select user,host from mysql.user where host 'localhost' ;
一般会得到以“%”授权(也就是任何地址)的记录:
+------------------+-------------+
| user | host |
+------------------+-------------+
| root | % |
| user_sync | 192.168.0.113 |
如果有host名是什么“DB1”“DB2”的,那么删除授权表中有 hostanme 的记录,然后重启mysqld。










