mysql ssh通道 java_腾讯云上搭建MySql并且通过SSH通道使用Java来操作数据库的解决方案...

本文介绍了如何在腾讯云上搭建MySQL数据库,并通过SSH隧道使用Java的JDBC进行远程操作。详细步骤包括申请腾讯云服务、配置安全组、安装MySQL、使用Navicat验证连接,以及展示Java代码实现SSH通道连接并执行SQL查询。
摘要由CSDN通过智能技术生成

因为接下来要做几个带数据库的小软件玩玩,就准备搞个数据库玩玩,但是一路肥肠的艰辛啊(汗

1.申请腾讯云

2.安全组那边要打开端口,详情看设置里,通俗易懂,我们需要的就是22和3306

3.安装mysql

跟我一样是Ubuntu18.04

4.远程看一下数据库:

(我用的是Navicat,软件很强大)

5.使用jdbc通过ssh通道连接mysql并且进行操作:

果然国外的大佬多。。

importcom.jcraft.jsch.JSch;importcom.jcraft.jsch.Session;import java.sql.*;public classUpdateMySqlDatabase {static intlport;staticString rhost;static intrport;public static voidgo(){

String user= "****"; //云服务器账号密码

String password = "****";

String host= "****"; //在这填写你的云服务器IP

int port=22;try{

JSch jsch= newJSch();

Session session=jsch.getSession(user, host, port);

lport= 22; //Liunx都是走22

rhost = "localhost"; //因为是虚拟机上的数据库

rport = 3306; //数据库指定端口

session.setPassword(password);

session.setConfig("StrictHostKeyChecking", "no");

System.out.println("Establishing Connection...");

session.connect();int assinged_port=session.setPortForwardingL(lport, rhost, rport);

System.out.println("localhost:"+assinged_port+" -> "+rhost+":"+rport);

}catch(Exception e){System.err.print(e);}

}public static voidmain(String[] args) {try{

go();

}catch(Exception ex){

ex.printStackTrace();

}

Connection con= null;

String driver= "com.mysql.cj.jdbc.Driver";

String url= "jdbc:mysql://" + rhost +":" + lport + "/";

String db= "****"; //分别是数据库名,数据库的用户和密码

String dbUser= "***";

String dbPasswd= "****";try{

Class.forName(driver);

con= DriverManager.getConnection(url+db, dbUser, dbPasswd);try{

Statement st=con.createStatement();

ResultSet rs= st.executeQuery("select * from hero");while(rs.next()) {int id = rs.getInt("id");//可以使用字段名

String name1 = rs.getString(2);//也可以使用字段的顺序

float hp2 = rs.getFloat("hp");int damage3 = rs.getInt(4);

System.out.printf("%d\t%s\t%f\t%d%n", id, name1, hp2, damage3); //这段可以修改成你自己的数据结构,我这的数据结果见输出

}

}catch(SQLException s){

System.out.println("SQL statement is not executed!");

}

}catch(Exception e){

e.printStackTrace();

}

//还没写自动关闭连接的代码,偷个懒

}

}

输出如下:

335 大英雄1 194.755997 293

336 大英雄2 219.292999 188

337 大英雄3 821.286987 322

338 大英雄4 225.434006 204

339 大英雄5 140.785004 425

345 提莫 313.000000 50

346 提莫 313.000000 50

347 提莫 313.000000 50

348 提莫 313.000000 50

360 sdasd 23.000000 55

361 test 90.000000 60

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值