通过JDBC连接MySQL数据库,代码中的JDBC链接格式如下:
jdbc:mysql://:/?sslmode=verify-full&sslrootcert=
表1参数说明参数
说明
如果通过弹性云服务器连接,“instance_ip”是主机IP,即“基本信息”页面该实例的“内网地址”。
如果通过连接了公网的设备访问,“instance_ip”为该实例已绑定的“弹性公网IP”。
端口,默认3306,当前端口,参考“基本信息”页面该实例的“数据库端口”。
数据库名,即需要连接的数据库名(默认的管理数据库是mysql)。
sslmode
ssl连接模式,默认全认证模式。
sslrootcert
ssl连接CA证书路径,该文件需放在执行该命令的路径下。
连接MySQL数据库的java代码,可参考以下示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
public class MyConnTest {
final public static void main(String[] args) {
Connection conn = null;
Statement stat = null;
// set sslmode here.
// with ssl certificate and path.
String url = "jdbc:mysql://192.168.0.225:3306/my_db_test?sslmode=verify-full&sslrootcert=/home/Ruby/ca.pem";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, "root", "password");
System.out.println("Database connected");
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM mytable WHERE columnfoo = 500";
ResultSet rs = stmt.executeQuery sql);
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Test failed");
} finally {
// release resource ....
}
}
}