zoukankan      html  css  js  c++  java
  • skip-name-resolv

    skip-name-resolve

    skip-name-resolve

    简单解释

    MySQL server received a request from you to allow you to connect to the database. So next thing it tried to do is to check what name is bound to your IP address (name resolution) and it failed to do so. So it just denied you access.

    可以这么理解mysql处理客户端解析的过程:

    1,当 mysql client 发起连接请求时,MySql Server 会主动去查 client 的主机名。
    2,首先查找Windows系统目录下 /etc/hosts 文件,搜索域名和IP的对应关系。
    3,如果hosts文件没有,则查找DNS设置,如果没有设置DNS服务器,会立刻返回失败;如果设置了DNS服务器,就进行反向解析,直到timeout。

    解决办法

    第一种方法 修改Hosts
    在 MySql Server 所在服务器上,修改 Windows 的 hosts 文件,增加一行记录,如:
    100.ZZZ.YYY.XXX dummy.ju690.cn
    然后在 100.ZZZ.YYY.XXX 机器上用 Python 发起连接请求,经测试,可以正常连接,说明 MySql Server 这下可以通过 getnameinfo() 解析出100.ZZZ.YYY.XXX 的主机名了。
    但这种方法很机械,所以一般采用下面这种方法。

    第二种 修改MySql 的配置文件 my.ini
    The solution:
    Just add skip-name-resolve option to your MySQL configuration file (my.ini).
    在 MySql Server 的配置文件 My.ini 中,增加如下两行:
    [mysqld]
    skip-name-resolve
    它将禁止 MySql Server 对外部连接进行 DNS 解析,使用这一选项可以消除 MySql 进行 DNS 解析的时间。
    但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求。

    参考:
    http://www.ixdba.net/article/89/2127.html
    http://blog.chinaunix.net/u/25264/showart_1936561.html

    可能的后果
    如果开启 skip-name-resolve 选项,要确认 MySql 是否采用过主机名的授权,

    在 mysql 中运行如下命令:
    mysql> select user,host from mysql.user where host <> 'localhost' ;
    一般会得到以“%”授权(也就是任何地址)的记录:
    +------------------+-------------+
    | user             | host        |
    +------------------+-------------+
    | root             | %           |
    | user_sync | 192.168.0.113 |

    如果有host名是什么“DB1”“DB2”的,那么删除授权表中有 hostanme 的记录,然后重启mysqld。

    1、C:WINDOWSsystem32driversetc

  • 相关阅读:
    leetcode计划(二)——ps:复习面试题计划+锻炼计划
    随感——简述码农办公提升工作效率的方法
    git——同步本地文件到github上
    算法数据结构——数的深搜和广搜(dfs和bfs)
    二分查找——没有想象中的容易(详解各种变式,超深度理解,c++)
    微软推出免费的Linux取证和Rootkit恶意软件检测服务
    美国采用人工智能领域来对抗种族偏见
    美联邦专家警告:黑客瞄准在家工作的美国人
    90后从白手起家到身价过亿,却坐地铁上班
    互联网巨头的人工智能野心,你看懂了吗?
  • 原文地址:https://www.cnblogs.com/smallfa/p/3613870.html
Copyright © 2011-2022 走看看