MYSQL远程访问配置方式HTTP请求(mysqlhttp请求)

Mysql远程访问是以服务的形式提供的,目的是让用户从远处的计算机中访问数据库。Mysql远程访问的配置安全性非常重要,这里介绍一种基于HTTP请求的Mysql远程访问配置方法。

1. 在服务器端,将mysql绑定到IP对应的网段,以让客户端可以访问。在mysql配置文件中设置:

bind_address=...

其中…为IP,在服务器端配置好后,重新启动mysql服务,以便使新的配置生效。

2. 使用AddUser方法向Mysql添加用户,以允许客户端登录。在Mysql的控制台中输入:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

username为用户名,password为密码,%表示匹配所有IP,即允许全部客户端登录,执行上述指令后用户就被添加成功了。

3. 为了能够让远程客户端可以执行客户端上的Mysql操作,必须要为该新添加的用户提供足够的权限。在Mysql控制台中输入:

GRANT all privileges on *.* to 'username'@'%';

这样客户端就可以对Mysql服务器进行相应的操作。

4. 在客户端上,使用HTTP请求来访问Mysql服务器,发起连接到Mysql服务器上指定的IP。详细步骤:

(1)创建HTTP请求,设置参数如下:

HTTP_CLIENT = new DefaultHttpClient();
HttpPost post = new HttpPost("http://...:3306/");
ArrayList postData= new ArrayList();
postData.add(new BasicNameValuePair("username","username"));
postData.add(new BasicNameValuePair("password","password"));
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postData);
post.setEntity(formEntity);

…为mysql所在服务器的IP,username和password分别为Step2中指定的用户名和密码。

(2)发出请求,接收相应:

HttpResponse response = httpclient.execute(post);
if(response.getStatusLine().getStatusCode() == 200){
//登录成功
System.out.println("Connection successful");
}

用这种HTTP请求的方式我们可以远程访问Mysql数据库,但是这种方式对安全性要求极高,正确操作安全性相关的字段很重要,以避免数据泄漏。此外,连接服务器的客户端也需要在特定的时间内发起连接,以保证不被攻击者利用。


数据运维技术 » MYSQL远程访问配置方式HTTP请求(mysqlhttp请求)