首页/手游/私服天龙八部:什么是客户端测试!

私服天龙八部:什么是客户端测试!

原标题:软件测试 | 客户端怎么访问内网数据库 很多情况下,MySQL数据库都会安装在企业内网,而有很多图形化客户端工具通常安装在本机,如果两个 *** 无法直接联通...

很多情况下,MySQL数据库都会安装在企业内网,而有很多图形化客户端工具通常安装在本机,如果两个 *** 无法直接联通,那么客户端也无法正常连接数据库。很多数据库厂商都提供了相应的功能,例如Oracle,客户端可以通过连接管理器(CMAN)来访问网中的Oracle数据库,MySQL能实现类似功能吗?答案是肯定的,来看下面的例子。

私服天龙八部:什么是客户端测试!

假设有如下服务器和客户端:

中转服务器IP为202.108.15.169(192.168.161.43)

内网服务器IP为192.168.161.30,在端口3313上启动这MySQL服务。

客户端为192.168.52.239(IP),操作系统为Windows,且安装了SecureCRT(一个远程连接工具)。

其中客户端可以和中转服务器联通,但无法和内网服务器连通。

首先,在客户端运行MySQL Query Brower(一个图形化工具),直接连接内网数据库,测试是否能连接。其连接界面和结束分别如图31-1和图31-2所示

显然,因为 *** 不能直接连通,所以连接失败。

下面介绍两种方法来实现客户端对数据库的连接。

方法1:使用secureCRT客户端工具。

secureCTR是一个可以通过多种协议连接远程服务器的客户端工具,具体介绍可以到其官方网站()进行查看。通过SecureCRT工具连接到中转服务器,并创建SSH Turnal,具体操作步骤如下。

(1)单击Session的属性,选择“Connection”→“Port Forwarding”选项,进入如图31-3所示的界面:

(2)单击“Add”按钮,出现如图31-4所示的“Local Port Forwarding Properties”对话框,在“Name”文本框中随便输入名字;“Local”栏下的“IP”文本框中输入127.0.0.1,“Port”文本框中随便输入一个未使用的端口,例如9987;“Remote”栏下的“Hostname”文本框中输入内网数据库的IP地址,这里是192.168.161.30,,而“Port”文本框中输入“3333”;单击“ok”按钮设置成功。

(3)在内网数据库(其IP地址为192.168.161.30)上增加一个用户hr,“Host”设置为192.168.161.43。

grant select on dbname.* to test@192.168.161.43 identified by 123;

(4)客户端重新登录,在“Server Host”文本框中填写本节IP(1270.0.1),“Port”文本框中填写“9987”,并在“Username”和“Password”文本框中输入上下文中创建的用户名和密码,然后再“Dafault Schema”文本框中填入登录的数据库名称,如图31-5所示。

(5)单击“OK”按钮,连接成功,进入数据库hr,如图31-6所示。

方法2:使用MySQL PRoxy(MySQL *** )工具。

MySQL PRoxy是MySQL AB公司新开发的一个工具,写作本书的时候还是测试版。它的功能和Oracle的连接管理器(CMAN)有些类似,是位于客户端和服务端中间的一个小程序。但是它的功能比CMAN更多,除了可以进行连接的转发外,还可以进行查询的监控、过滤、分析、负载均衡(Load Balance)、失败飘逸(Failover)等其他更多的功能,具体功能的使用大家可以查看官方文档()这里我们仅仅介绍它对于连接转发功能的使用。

(1)在中转服务器(202.108.15.169)上下载MySQL Proxy的最新版本

(),下载的方法和下载MySQL软件类似,这里就不再赘述。下载后的文件名为mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz。

(2)解压下载的文件如下。

[zzx@zzx ~]$ tar xzvf mysql-proxy-0.6.0-linux-rhas4-x86.tar.gzmysql-proxy-0.6.0-linux-rhas4-x86/mysql-proxy-0.6.0-linux-rhas4-x86/ *** in/mysql-proxy-0.6.0-linux-rhas4-x86/ *** in/mysql-proxymysql-proxy-0.6.0-linux-rhas4-x86/share/......mysql-proxy-0.6.0-linux-rhas4-x86/share/mysql-proxy/xtab.lua

(3)进入解压后的目录,发现有两个子目录的share和 *** in。

[zzx ~]$ cd mysql-proxy-0.6.0-linux-rhas4-x86[zzx ~/mysql-proxy-0.6.0-linux-rhas4-x86]$ ls -l总用量 16drwxr-xr-x 4 zzx zzx 4096 9 月 12 08:48 ./drwx------ 5 zzx zzx 4096 1 月 11 15:33 ../drwxr-xr-x 2 zzx zzx 4096 9 月 12 08:48 *** in/drwxr-xr-x 3 zzx zzx 4096 9 月 12 08:48 share/

(4)其中share中有很多以。lua为后缀的文件,这些是MySQL Proxy对客户端进行查询监控、分析等操作的脚本。 *** in目录中只有一个文件mysql-proxy,用它来启动MySQL Proxy服务。

(5)执行./mysql-proxy--help-all命令,查看mysql-proxy工具的使用方法。

[zzx ~/mysql-proxy-0.6.0-linux-rhas4-x86/ *** in]$ ./mysql-proxy --help-allUsage:mysql-proxy [OPTION...] - MySQL ProxyHelp Options:-?, --help Show help options--help-all Show all help options--help-admin Show options for the admin-module--help-proxy Show options for the proxy-moduleadmin module--admin-address= listening address:port of internaladmin-server (default: :4041)proxy-module--proxy-address= listening address:port of the proxy-server(default: :4040)--proxy-read-only-backend-addresses= address:port of the remote slave-server(default: not set)--proxy-backend-addresses= address:port of the remote backend-servers(default: 127.0.0.1:3306)--proxy-skip-profiling disables profiling of queries (default:enabled)--proxy-fix-bug-25371 fix bug #25371 (mysqld > 5.1.12) for olderlibmysql versions--proxy-lua-script= filename of the lua script (default: not set)--no-proxy Dont start proxy-serverApplication Options:-V, --version Show version--daemon Start in daemon-mode--pid-file= PID file in case we are started as daemon这些参数中,对连接转发最重要的参数是--proxy-backend-addresses=,它告诉MySQL Proxy要连接到的目标MySQL服务的IP和端口。

(6)启动MySQL Proxy服务,并指定--proxy-backend-addresses为目标数据库的IP地址和端口。[zzx ~/mysql-proxy-0.6.0-linux-rhas4-x86/ *** in]$ ./mysql-proxy--proxy-backend-addresses=192.168.161.30:3313 &[2] 3690[1] Done ./mysql-proxy proxy-backend-addresses=192.168.161.30:3313(7)用netstat观察一下启动的服务:[zzx ~/mysql-proxy-0.6.0-linux-rhas4-x86/ *** in]$ netstat -nlp(Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.)Active Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address StatePID/Program nametcp 0 0 0.0.0.0:4040 0.0.0.0:* LISTEN3690/mysql-proxytcp 0 0 0.0.0.0:4041 0.0.0.0:* LISTEN3690/mysql-proxy......

其中,4040端口是默认的 *** 端口,客户端连接的时候直接指向此端口;4040是默认是管理模块端口,这里不用管它。

(8)在Windows客户端启动MySQL Query Browser,在登录界面的“Server Host”文本框中输入中转服务器的IP地址,“Port”文本框中输入MySQL Proxy的 *** 端口4040,“Username”和“Password”输入实际数据库的用户名和密码,如图31-7所示。

(9)单击“OK”按钮,成功登录数据库,如图31-8所示。

从方法1和方法2可以看出,方法1的优点是更通用,不仅能对MySQL服务进行连接的转发,而且还可以对其他类似的问题都可以采用这种办法进行解决,以达到客户端正常访问内网服务的目的。但是这种方法也有自己的缺点,就是必须要打开secureCRT相应的SESSION,连接才可以生效;方法2的优点是不依赖于客户端的其他服务,只要中转服务器上启动 *** 服务,客户端就可以正常访问,缺点是只针对MySQL使用。大家可以根据自己的实际应用环境进行选择。

本文转载自互联网,如有侵权,联系邮箱删除:25538@qq.com!

相关文章

CVCV资讯网

为您提供重点新闻资讯,优质的产品,以及全面的百科知识!无论是国内外时事、社会热点、还是知识问答,我们都将第一时间为您报道。