码迷,mamicode.com
首页 > 数据库 > 详细

如何实现服务器与mysql的远程通信?

时间:2016-04-14 23:58:58      阅读:398      评论:0      收藏:0      [点我收藏+]

标签:

    本想通过android程序直接访问数据库获取数据,无奈在测试的过程中android一直显示无法找到驱动程序。上网找了许多资料,依旧没有找到解决的方法。因此决意搭建中介服务器。通过中介服务器进行中转,实现对第三方电脑mysql操控以及和android之间的数据通信。

   最后测试成功。

  具体步骤如下:

  服务端:

  1.首先在服务端的WEB-INF文件夹的lib目录下面引入mysql驱动程序:

技术分享

  技术分享2.引入完毕后,右击项目,新建java文件:

技术分享

3.写上代码:


import com.mysql.jdbc.*;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class conn {

static List list = null;

public static void main(String[] args) throws SQLException{
conn con = new conn();
con.getData();
}

public void getData() throws SQLException{
//驱动数据库
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println();
//获取信息

//在此写入相应信息
String dbName = "";
String tableName = "";
String userName = "";
String password = "";



String url = "jdbc:mysql://<ip地址>:<端口号,由对方设置>/" + dbName + "?user="
+userName + "&password=" + password;


Connection conn = (Connection) DriverManager.getConnection(url);
System.out.print("数据库连接成功!");


}

}

 

这边的步骤就书写完毕了,然后开始对对方电脑进行配置(此测试为linux):

1.

将 /etc/mysql/my.cnf中的bind-address注释掉

 

2.将数据库中对应用户的host改为%

 

至此本次测试成功了,成功后运行java程序,会打印出数据库连接成功!

 

另:如果出现错误,可能还要设置对方防火墙等原因。

本次测试失败了很多次最后意外的成功了,不排除成功原因之一是因为对方电脑搭建了java环境,但这点仍然不很确定。望大神指点!

 

 

 

 

  

如何实现服务器与mysql的远程通信?

标签:

原文地址:http://www.cnblogs.com/wangsihui1996/p/5393229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!