当前位置: 首页 > news >正文

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

from:https://www.cnblogs.com/kevingrace/p/6196885.html

 

 

在远程连接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命令

转载于:https://www.cnblogs.com/94cool/p/9429003.html

相关文章:

  • 迷宫问题的求解(回溯法、深度优先遍历、广度优先遍历)
  • Druid入门
  • py 的 第 7 天
  • 从数据恢复角度分析腾讯云静默损坏
  • 读写json文件
  • C#读写txt文件的两种方法介绍
  • MySQL 二进制日志 binlog
  • Oracle 11g服务器安装详细步骤(贴图)
  • Apache网页优化,网页压缩和网页缓存技术
  • 动态规划入门(以爬楼梯为例)
  • 231个web前端的javascript特效分享(仅供本人学习,非教程类型)
  • BZOJ 3110 [Zjoi2013]K大数查询 (CDQ分治+树状数组)
  • 工信部指出基于 IPv6 的下一代互联网的重要性
  • centos yum安装maven
  • 02 资源搜索-全面、快速查找全网你想要的任何信息、情报
  • php的引用
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 《深入 React 技术栈》
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • EOS是什么
  • java正则表式的使用
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Next.js之基础概念(二)
  • nodejs:开发并发布一个nodejs包
  • nodejs实现webservice问题总结
  • orm2 中文文档 3.1 模型属性
  • PHP那些事儿
  • quasar-framework cnodejs社区
  • SSH 免密登录
  • ------- 计算机网络基础
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端面试总结(at, md)
  • 前嗅ForeSpider采集配置界面介绍
  • 小程序测试方案初探
  • linux 淘宝开源监控工具tsar
  • 函数计算新功能-----支持C#函数
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ​香农与信息论三大定律
  • ###STL(标准模板库)
  • #define
  • #pragma pack(1)
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .htaccess配置常用技巧
  • .Net Redis的秒杀Dome和异步执行
  • .NET 表达式计算:Expression Evaluator