MySQL skip_name_resolve参数的设置
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参数的设置的更多相关文章
- 关于MySql链接url参数的设置
jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/database?useUnicode=t ...
- MySQL安装后的设定及其变量(参数)的设置
1.为所有root用户设定密码:mysql> SET PASSWORDmysql> update mysql.user SET password=PASSWORD("your_p ...
- 关于MySql链接url参数的设置 专题
报错: Establishing SSL connection without server's identity verification is not recommended. According ...
- MySql链接url参数的设置
mysql JDBC URL格式如下: jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值 ...
- 关于skip_name_resolve参数的总结
作为MySQL调优的一部分,很多人都推荐开启skip_name_resolve.这个参数是禁止域名解析的(当然,也包括主机名).很多童鞋会好奇,这背后的原理是什么,什么情况下开启这个参数比较合适. 基 ...
- mysql服务器参数
mysql服务器参数: 配置是从上往下读取,同一个参数项,后边的配置项会覆盖前边的配置项 mysql获取配置信息路径: 命令行参数 mysqld_safe --datadir=/data/sq ...
- 第四课(2)——mysql配置参数讲解
*****************general***************** user 启动mysql domain的用户 port 数据库端口号 socket 数据库socket文件的路径 p ...
- mysql 常见参数
my.cnf[client] 对mysql的所有客端都生效的[mysql] 只对mysql这个命令有效了[mysqd][mysqld_multi] 多实例启动[mysqld_safe][mysqldN ...
- 【查阅】mysql配置文件/参数文件重要参数笔录(my.cnf)
持续更新,积累自己对参数的理解 [1]my.cnf参数 [client]port = 3306socket = /mysql/data/3306/mysql.sockdefault-character ...
- [原创]MySQL innodb_rollback_on_timeout参数对锁的影响
环境:Server version: 5.6.21-log MySQL Community Server (GPL) 前提提要: innodb_rollback_on_timeout是 ...
随机推荐
- (app笔记)如何执行monkey命令测试稳定性
1.monkeyMonkey 就是SDK中附带的一个工具,向系统发送伪随机的用户事件流,为了测试软件的稳定性.健壮性,验证app是否出现ANR or Crush 操作: 2. adb devices ...
- 判断python socket服务端有没有关闭的方法
通过 getattr(socket, '_closed') 的返回值可以判断服务端的运行状态. True 是关闭状态,False 是运行中. import socket ip = 'localhost ...
- 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开 ...
- 第五章:用Python分析商品退单数据并找出异常商品
文章目录 项目背景 获取数据 数据计算 统计次数 异常商品 源码地址 本文可以学习到以下内容: 使用 pandas 中的 read_sql 读取 sqlite 中的数据 获取指定的日期的周一和周日 使 ...
- C语言源文件如何编译为exe
先观看https://blog.csdn.net/u014772182/article/details/43348465来配置gcc环境随后在cmd中cd到目标文件夹gcc main.c -o ste ...
- RocketMQ 如何保证消息不丢失,重复消费
RocketMQ 如何保证消息不丢失 Producer 提供SYNC的发送消息方式,等待broker处理结果. 发送消息如果失败或者超时,则重新发送. // 同步发送消息,如果5秒内没有发送成功,则重 ...
- argocd
argocd Argo CD - Declarative GitOps CD for Kubernetes (argo-cd.readthedocs.io) What Is Argo CD Argo ...
- ES6-Promise上
一.Promise作用:解决回调地狱问题 transitionend是过渡结束事件,只要过渡结束就会触发: 回调地狱:指的是层层嵌套的回调函数,代码看起来非常晕 <!DOCTYPE html&g ...
- 在QAS里面,建立副本请求
- kali上的apache2
之前总是疑惑为什么kali上的apache服务称之为apache2,但是也没想到去找找答案,今天突然想到了,简单搜索了一下大致就是, 现在Apache HTTP 存在三种版本, 1.3 2.0 和2. ...