关于MySQL DNS解析探究之一:DNS解析确实在起作用

机器A --> 192.168.103.94  -- 服务器

机器B --> 192.168.4.2        -- 客户端

机器A =>

装上mysql-server,启动; 使用root用户登录,查看DNS解析是否开启,执行如下命令:

mysql> show variables like ‘skip_name_resolve%‘;
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| skip_name_resolve | OFF   |
+-------------------+-------+
1 row in set (0.00 sec)

说明DNS解析是开启状态

在/etc/hosts中添加:

192.168.4.2      mysql_client_host

在mysql中添加用户testdns,host为192.168.4.2

mysql> grant all privileges on *.* to [email protected]‘192.168.4.2‘ identified by ‘000‘;
mysql> select user,host,password from user where user=‘testdns‘; 
+---------+-------------+-------------------------------------------+
| user    | host        | password                                  |
+---------+-------------+-------------------------------------------+
| testdns | 192.168.4.2 | *B66FEB4CF5216D971C066EB920EC03B27A5A3F40 |
+---------+-------------+-------------------------------------------+
mysql> flush privileges;

机器B =>

准备一套jdbc的测试程序:

db.driver=com.mysql.jdbc.Driver

db.url=jdbc:mysql://192.168.103.94:3306/test

db.username=testdns

db.password=000

执行“select 1”查询语句:查询成功!

机器A=> 查看连接进程列表:

mysql> show processlist;
+----+---------+------------------------+-------+---------+------+-------+------------------+
| Id | User    | Host                   | db    | Command | Time | State | Info             |
+----+---------+------------------------+-------+---------+------+-------+------------------+
|  3 | root    | localhost              | mysql | Query   |    0 | NULL  | show processlist |
|  4 | testdns | mysql_client_host:4192 | test  | Sleep   |    2 |       | NULL             |
+----+---------+------------------------+-------+---------+------+-------+------------------+

这里显示的主机名为mysql_client_host,说明dns解析起作用了

继续猜测当将testdns的host设置为mysql_client_host也可以,来印证下:

mysql> update user set host=‘mysql_client_host‘ where user=‘testdns‘;
mysql> select user,host,password from user where user=‘testdns‘;
+---------+-------------------+-------------------------------------------+
| user    | host              | password                                  |
+---------+-------------------+-------------------------------------------+
| testdns | mysql_client_host | *B66FEB4CF5216D971C066EB920EC03B27A5A3F40 |
+---------+-------------------+-------------------------------------------+
mysql> flush privileges;

在机器B上测试 执行“select 1”查询语句:查询成功!

A机器上将/etc/hosts中的192.168.4.2      mysql_client_host 注释掉, 并且mysql命令行执行flush hosts,因为mysql会缓存dns解析记录;

B机器上再次测试,

java.sql.SQLException: null,  message from server: "Host ‘192.168.4.2‘ is not allowed to connect to this MySQL server"

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)

小节:以上测试证明mysql的dns解析确实在起作用

时间: 2024-10-14 01:14:13

关于MySQL DNS解析探究之一:DNS解析确实在起作用的相关文章

DNS子域授权和DNS分离解析

实验环境: -------RHEL5.10(vmnet1)----------REL5.10(vmnet1) (192.168.100.10主域)       (192.168.100.20子域) [DNS子域授权配置] kvm_node2(子域)上面操作: [[email protected] ~]# yum  -y install bind   bind-chroot   caching-nameserver [[email protected] ~]# cd /var/named/chro

基于BIND实现的DNS正反解析及主从DNS的配置

测试环境 准备2台虚拟机,一台为主DNS,IP地址为:192.168.103.161.另一台为从DNS,IP地址为:192.168.103.162两台都装好bind,所需包有:bind,bind-utils,bind-libs 主DNS的配置文件 配置主文件/etc/named.conf,如下所示 // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // se

DNS基本原理及正反向解析

1.DNS基本原理 DNS:Domain Name Service,域名解析服务 监听端口:udp/53,tcp/53 应用程序:bind www.magedu.com.: FQDN Full Qualified Domain Name 完全合格域名/全称域名 名称解析:主机名解析 把一种名称转换为另一种名称的过程 名称:字串.数字 解析库:某种存储 username <--> uid 某种存储: 文本文件 关系型数据库 LDAP:Lightweight Directory Access Pr

DNS基本原理及正反向解析和主从同步

简单罗列基础命令,只分享我的想法! 一.理论说明 DNS(Domain NameService)域名解析协议,非常重要的一个网络应用协议,通过它你可以通过域名访问某网站而不是通过输入32位的IP地址了. 1969年底由拉里·罗伯茨(互联网之父)主导到ARPANET网投入运行,那一年UNIX诞生,由于早期的阿帕网兼容性不好,许多硬件厂商的接口不兼容导致,所以接入网络的计算机数量有限,之后PARC的以太网以及TCP/IP协议的出现,促使互联网发展,70/80年代的UNIX非常火爆,1985年TCP/

Linux Red hat下DNS服务器安装(反向和正向解析)配置

1.本文采用的是系统自带的rpm包进行安装,由于本Linux系统是经过优化后的所以无需光盘挂载. 2.介绍 Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台. 本文将介绍它在Red hat Linux 6.5中最基本的安装和配置. 3.安装,首先 rpm -qa bind* 查找到系统的 bind-

DNS各种基本配置(正向解析区域、反向解析区域;主/从;子域;基本安全控制)

DNS服务器所提供的服务是完成将主机名和转换为IP地址的工作.为什么需要将主机名转换为IP地址的工作呢?这是因为,当网络上的一台客户机访问某一服务器上的资源时,用户在浏览器地址栏中输入的是人类便于识记的主机名和域名.而网络上的计算机之间实现连接却是通过每台计算机在网络中拥有的惟一的IP地址来完成的,这样就需要在用户容易记忆的地址和计算机能够识别的地址之间有一个解析,DNS服务器便充当了地址解析的重要角色. 域名严格意义上的称呼为FQDN(Full Qualified Domain Name).域

linux dns子域授权 split分离解析 缓存dns服务器

DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要知道子域名信息.cn没有义务为客户机去查询子域站点属于同一个机构管理:.Anonymous.cn与bj.Anonymous.cn.Anonymous.cn需要知道子域信息.Anonymous.cn有义务为客户机去查询子域站点 -------------------------------- 案列:子

dns 搭建和正向逆向解析

DNS域名系统,是我们日常使用到的最常见的一个系统,是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串,简单来说,就是相当于是一个快捷的索引,能够让我们更快速方便的访问到互联网,而不必通过IP来访问.而这次我们就要来看看如何搭建自己的dns服务器. 实验环境:RHEL6.5 服务端: server1.example.com  192.168.122.101 客户端:  server3.example.com   192.

搭建DNS服务器:正向解析区域、反向解析区域、主从DNS

在搭建DNS服务器之前,可以了解一下在什么情况才需要搭建DNS服务器,以及在什么情况下不需要搭建DNS服务器.在此之前,需要了解DNS中域(domain)和区域(zone)的基本概念,以及DNS资源记录的类型,如果对此不熟悉,可以参考我写的上一篇文章<Caching only DNS的设置与forwarding功能>. 一.为什么需要自己搭建DNS服务器? 搭建DNS服务器的原因大致有三点: (1)一般公司都有多台Server需要接入互联网上并提供服务,此时公司需要向ISP申请一个域(doma