使用navicat时,报错截图如下:

原因分析: 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命令

使用navicat连接mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'的更多相关文章

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

    在远程连接mysql的时候,连接不上,出现如下报错:Lost connection to MySQL server at 'waiting for initial communication pack ...

  2. 问题MySQL Error (2013): Lost connection to MySQL server at waiting for initial communication packet

    错误说明: SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet ...

  3. 使用cmd命令登录mysql数据库时报2013-Lost connection to MYSQL server at 'waiting for initial communication packet',system error:0

    [错误内容]:SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packe ...

  4. ERROR 2013 (HY000): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 2

    ERROR (HY000): Lost connection to MySQL server at 'waiting for initial communication packet', system ...

  5. Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0

    场景: 192.168.7.27 需要访问 192.168.7.175 上的MySQL数据库,连接时报错. 原因: MySQL的配置文件默认没有为远程连接配置好,需要更改下MySQL的配置文件. 解决 ...

  6. SQL Error (2013): Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0 解决方案

    远程服务器的操作系统:Ubuntu 本地:navicat +win10 连接名:随意填写 主机名:localhost 端口:3306 用户名:连接电脑的数据库的用户名 密码:连接电脑的数据库的密码 主 ...

  7. lost connection to MySQL server at waiting for initial communication packet,system error:o

    1 可以先测试mysql本地连接石否正常 2 正常的话查看远程连接的IP在mysql中是否有权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'   IDENTIF ...

  8. Lost connection to MYSQL server at 'reading for initial communication packet'

    这个异常,是我在对外开放了本地数据库端口后,测试能否连接上数据库时候出现的问题: 解决步骤: 1.services.msc打开服务窗口,重启mysql,进行重试,还不行: 2.对数据库进行操作 USE ...

  9. navicat远程连接阿里云ECS上的MYSQL报Lost connection to MySQL server at 'reading initial communication packet'

    问题现象 MySQL 远程连接报错:Lost connection to MySQL server at 'reading initial communication packet' 解决方案 1.检 ...

随机推荐

  1. 基于SpringCloud分布式架构

    基于SpringCloud分布式架构 为什么要使用分布式架构 Spring Cloud 专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖 分布式/版本化配置 服务注册和发现 路由 Servic ...

  2. Java方法的定义以及调用、方法重载、可变参数以及递归

    目录 何谓方法 方法的定义及调用 方法的定义 方法调用 方法重载 命令行传参 可变参数 递归 何谓方法 Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序组合 方法包含于 ...

  3. 【C#图解教程学习笔记】第13章 委托

    13.1 什么是委托 委托是持有一个或多个方法的对象,可将一个方法传递到另一个方法. 委托是用户自定义的引用类型. 13.2 委托概述 类表示的是数据和方法的集合,而委托持有一个或多个方法,以及一系列 ...

  4. js操作html的基本方法

    刚学了js操作html的基本方法,在写代码过程中,有很多格式不规范,忘记加双引号尤其重要,通常这 样的错误很容易范,并且这种错误很难找.随着代码学习量越来越多,很多写法容易搞混.今天记录一下,以便后期 ...

  5. html5拖动监听

    在拖动目标上触发事件 (源元素): ondragstart - 用户开始拖动元素时触发 ondrag - 元素正在拖动时触发 ondragend - 用户完成元素拖动后触发 释放目标时触发的事件: o ...

  6. nodejs模块介绍与使用

    1.内置模块 http fs path url os等等 (无需安装直接require引入即可) 2.第三方模块: express mysql ejs等等 (npm包管理工具下载require引入) ...

  7. 【Ubuntu】Ubuntu系统启动过程中,输入用户名与密码后登录一直卡在紫色界面问题(未解决,最后通过重装系统)

    0. 前言 由于本电脑为公用电脑,可能由于其他人点了图像界面中推荐的内核更新,导致原来安装的NVIDIA显卡驱动 430 与升级后的 5.0 内核不兼容,从而导致输入用户名后登录一直卡在紫色界面.在排 ...

  8. [JavaWeb基础] 032.第三方插件pinyin4j的使用

    突然发现了一个比较新奇的插件,就是可以把我们输入的汉字,输出它所有的拼音的jar包.下面以代码的形式简单的介绍下这个插件 package com.babybus.sdteam.pinyin4j; im ...

  9. Rocket - tilelink - SourceShrinker

    https://mp.weixin.qq.com/s/1vyfhZuF4RyRE5Qjj6AGWA   简单介绍SourceShrinker的实现.   ​​   1. 基本介绍   用于把上游节点的 ...

  10. 【Linux】ntp服务-时间同步

    ntp简易安装与时间同步 yum -y install ntp ntpdate //安装ntp服务 ntpdate cn.pool.ntp.org //更新时间 hwclock --systohc / ...