文档章节

Mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'

林伟琨
 林伟琨
发布于 2017/04/30 09:05
字数 628
阅读 521
收藏 0

在远程连接mysql的时候,连接不上,出现如下报错: Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0 截图如下:

原因分析:

mysql开启了DNS的反向解析功能,这样mysql对连接的客户端会进行DNS主机名查找。
mysql处理客户端解析过程:
1)当mysql的client连过来的时候,服务器会主动去查client的域名。
2)首先查找 /etc/hosts 文件,搜索域名和IP的对应关系。
3)如果hosts文件没有,则查找DNS设置,进行DNS反向解析,直到timeout连接失败。
mysql的DNS反向解析:
1)mysql接收到连接请求后,获得的是客户端的ip,为了更好的匹配mysql.user里的权限记录(某些是用hostname定义的)。
2)如果mysql服务器设置了dns服务器,并且客户端ip在dns上并没有相应的hostname,那么这个过程很慢,导致连接等待。

解决方案:
1)把client的ip写在mysql服务器的/etc/hosts文件里,随便给个名字做主机映射即可。
2)在my.cnf配置文件中的[mysqld]区域添加skip-name-resolve,即跳过mysql连接的DNS反向解析功能,这样能很好地提高mysql性能。在这种情况下,就只能使用MySQL授权表中的IP来连接mysql服务了。
对于第一种方法显然比较笨,也不实用!强烈推荐第二种方法,添加skip-name-resolve选项可以禁用dns解析,这样的话,就不能在mysql的授权表中使用主机名了,只能使用IP。

另外: 如果在my.cnf文件中配置了bind-address地址绑定的地址(说明别的机器远程只能通过这个绑定的本机地址来连接mysql),可以将其注释掉。 例如: bind-address = 127.0.0.1 //说明只能在本机连接mysql,并且通过-h 127.0.0.1或localhost,在远程是无法连接这个mysql的!

my.cnf配置的几个参数: skip-name-resolve 跳过DNS反向解析过程.(这样就不能使用主机名连接mysql了,只能使用ip连接) skip-grant-tables 跳过授权表(当mysql登陆密码忘记时的解决办法) skip-networking 跳过TCP/IP连接 skip-host-cache 禁用主机名缓存;要想清除主机名缓存,执行FLUSH HOSTS语句或执行mysqladmin flush-hosts命令

当你发现自己的才华撑不起野心时,就请安静下来学习吧

本文转载自:http://www.cnblogs.com/kevingrace/p/6196885.html

林伟琨
粉丝 8
博文 108
码字总数 39035
作品 0
厦门
后端工程师
私信 提问
c mysql pipe 访问

现在想用管道的方式去访问mysql(mysql用的版本是5.5.16),在win的平台上,配置文件中是这样设置的, [mysqld] # The next three options are mutually exclusive to SERVER_PORT below. ski...

hjs.wcl
2012/07/06
313
0
ERROR 2013 (HY000): Lost connection to MySQL serve

http://blog.micxp.com/index.php/archives/113/ mysql远程连接出现了ERROR 2013 (HY000): Lost connection to MySQL server at 'waiting for initial communication packet', system error......

塔塔米
2014/08/21
1K
0
navicat中之前就存在的远程连接(能连接上),今天连接时报错

之前连接好好的,今天重启了服务器后连接报错:lost connection to MySQL server at 'waiting for initial communication packet',system error:0 "Internal error/chect(Not system error)"......

1352040452
2018/11/20
219
3
解决Lost connection to MySQL server at 'reading i...

当通过 TCP/IP 连接 MySQL 远程主机时,出现 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104 。 如果是在linux shell......

durban
2012/12/20
17.4K
2
navicat连接MySQL出现 Error_code:2013的错误

MySQL的root开启了远程连接(host改为%),防火墙关闭,客户端能访问服务器,连接MySQL,报错“2013-Lost connect to MySQL server at 'waiting for initial communication packet',system ......

运维天空
2017/11/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

skywalking(容器部署)

skywalking(容器部署) 标签(空格分隔): APM [toc] 1. Elasticsearch SkywalkingElasticsearch 5.X(部分功能报错、拓扑图不显示) Skywalking需要Elasticsearch 6.X docker network create......

JUKE
3分钟前
0
0
解决Unable to find a single main class from the following candidates [xxx,xxx]

一、问题描述 1.1 开发环境配置 pom.xml <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><!--一定要对上springboot版本号,因......

TeddyIH
4分钟前
0
0
Dubbo服务限制大数据传输抛Data length too large: 13055248, max payload: 8388608解决方案

当dubbo服务提供者向消费层传输大数据容量数据时,会受到Dubbo的限制,报类似如下异常: 2019-08-23 11:04:31.711 [ DubboServerHandler-XX.XX.XX.XXX:20880-thread-87] - [ ERROR ] [com.al...

huangkejie
7分钟前
0
0
HashMap和ConcurrentHashMap的区别

为了线程安全,ConcurrentHashMap 引入了一个 “分段锁” 的概念。具体可以理解把一个大的 map 拆分成 N 个小的 Map 。最后再根据 key.hashcode( )来决定放到哪一个 hashmap 中去。 hashmap ...

Garphy
8分钟前
0
0
购买SSL证书需要注意哪些问题

为了保障网站的基本安全,为网站部署SSL证书,已经是一种常态了。各大浏览器对于安装了SSL证书的网站会更友好,并且不会发出“不安全”的提示。部署SSL证书之前首先得去给网站购买一个SSL证书...

安信证书
37分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部