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

    本想通过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环境,但这点仍然不很确定。望大神指点!

  

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