Skip_name_resolve

Dynamic No
Default Value OFF

默认值是off,也就是在检查客户端连接时在第一次要解析主机名(如果有开启DNS服务器,则做 “ IP->hostname & hostname->IP反向解析 ”;如没有开启DNS,则不做解析);

连接成功则将信息存储在host cache中。

Host Cache Operation

MySQL服务用host cache来保存非本地TCP连接,不保存127.0.0.1、::1和Unix socket创建的连接。

>由于保存了IP-to-Host列表,MySQL服务避免每次去做DNS检查,只在第一次做解析和反解析

>host cache保存着一些连接错误信息,max_connect_errors决定了连接错误次数后锁定该IP,锁定后需要 Flushing the Host Cache来解除

host cache的行记录如下:

1.当首次TCP客户端连接通过一个给定的地址访问MySQL服务,一行新的cache记录被创建,记录IP,host name,client 查找检验标识。初始,host name是null,标识是false,此条目还用于

后续同样IP的客户端连接

2.如果检验标识是false,MySQL服务尝试IP-to-host name-to-IP DNS这样的解决方式。如果成功则更新标识为true。如果尝试的解决方式不成功,则分永久和短暂,如果永久失败则置host

name为null,flag为true;如果是短暂失败则保持host name为null,flag为false。

设置host cache的大小

[mysqld]
host_cache_size=200

当连接失败达到max_connect_error设置的次数,该host将被锁定

[mysqld]
max_connect_errors=10000

客户端连接

1.一个应用的新建的客户端连接过来,MySQL服务首先检查host name是否在host cache,如果是,服务决定是否继续提供请求看该主机是否被锁住;

2.如果客户端连接的不在cache,服务试图去解析host name,尝试IP-to-host name-to-IP DNS这样的解决方式,如果一切正常则存储信息到host cache;

3.如果cache满了,则最近最少用的记录则被丢弃

MySQL skip_name_resolve参数的设置的更多相关文章

  1. 关于MySql链接url参数的设置

    jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/database?useUnicode=t ...

  2. MySQL安装后的设定及其变量(参数)的设置

    1.为所有root用户设定密码:mysql> SET PASSWORDmysql> update mysql.user SET password=PASSWORD("your_p ...

  3. 关于MySql链接url参数的设置 专题

    报错: Establishing SSL connection without server's identity verification is not recommended. According ...

  4. MySql链接url参数的设置

    mysql JDBC URL格式如下: jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值 ...

  5. 关于skip_name_resolve参数的总结

    作为MySQL调优的一部分,很多人都推荐开启skip_name_resolve.这个参数是禁止域名解析的(当然,也包括主机名).很多童鞋会好奇,这背后的原理是什么,什么情况下开启这个参数比较合适. 基 ...

  6. mysql服务器参数

    mysql服务器参数: 配置是从上往下读取,同一个参数项,后边的配置项会覆盖前边的配置项 mysql获取配置信息路径: 命令行参数    mysqld_safe  --datadir=/data/sq ...

  7. 第四课(2)——mysql配置参数讲解

    *****************general***************** user 启动mysql domain的用户 port 数据库端口号 socket 数据库socket文件的路径 p ...

  8. mysql 常见参数

    my.cnf[client] 对mysql的所有客端都生效的[mysql] 只对mysql这个命令有效了[mysqd][mysqld_multi] 多实例启动[mysqld_safe][mysqldN ...

  9. 【查阅】mysql配置文件/参数文件重要参数笔录(my.cnf)

    持续更新,积累自己对参数的理解 [1]my.cnf参数 [client]port = 3306socket = /mysql/data/3306/mysql.sockdefault-character ...

  10. [原创]MySQL innodb_rollback_on_timeout参数对锁的影响

    环境:Server version:         5.6.21-log MySQL Community Server (GPL) 前提提要: innodb_rollback_on_timeout是 ...

随机推荐

  1. (app笔记)如何执行monkey命令测试稳定性

    1.monkeyMonkey 就是SDK中附带的一个工具,向系统发送伪随机的用户事件流,为了测试软件的稳定性.健壮性,验证app是否出现ANR or Crush 操作: 2. adb devices ...

  2. 判断python socket服务端有没有关闭的方法

    通过 getattr(socket, '_closed') 的返回值可以判断服务端的运行状态. True 是关闭状态,False 是运行中. import socket ip = 'localhost ...

  3. Ubuntu 20.04 :“a start job is running for hold until boot process finishes”

    A start job is running for Hold until boot process finishes up (xxx min xxx s/no limit) ubuntu20.04开 ...

  4. 第五章:用Python分析商品退单数据并找出异常商品

    文章目录 项目背景 获取数据 数据计算 统计次数 异常商品 源码地址 本文可以学习到以下内容: 使用 pandas 中的 read_sql 读取 sqlite 中的数据 获取指定的日期的周一和周日 使 ...

  5. C语言源文件如何编译为exe

    先观看https://blog.csdn.net/u014772182/article/details/43348465来配置gcc环境随后在cmd中cd到目标文件夹gcc main.c -o ste ...

  6. RocketMQ 如何保证消息不丢失,重复消费

    RocketMQ 如何保证消息不丢失 Producer 提供SYNC的发送消息方式,等待broker处理结果. 发送消息如果失败或者超时,则重新发送. // 同步发送消息,如果5秒内没有发送成功,则重 ...

  7. argocd

    argocd Argo CD - Declarative GitOps CD for Kubernetes (argo-cd.readthedocs.io) What Is Argo CD Argo ...

  8. ES6-Promise上

    一.Promise作用:解决回调地狱问题 transitionend是过渡结束事件,只要过渡结束就会触发: 回调地狱:指的是层层嵌套的回调函数,代码看起来非常晕 <!DOCTYPE html&g ...

  9. 在QAS里面,建立副本请求

  10. kali上的apache2

    之前总是疑惑为什么kali上的apache服务称之为apache2,但是也没想到去找找答案,今天突然想到了,简单搜索了一下大致就是, 现在Apache HTTP 存在三种版本, 1.3 2.0 和2. ...