mycat 做mysql中间件问题

时间:2021-11-20 04:02:12
mycat 做mysql中间件
 命令行 可以连接上,
程序无法连接


命令行如下图 mycat 做mysql中间件问题


程序代码:

package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DbConnectionTest {
private static String url = "jdbc:mysql://192.168.1.212:8066/TESTDB?useUnicode=true&characterEncoding=utf-8";
private static String username = "test";
private static String password = "test";
private static String driverName = "com.mysql.jdbc.Driver";

public DbConnectionTest() {
super();
// TODO Auto-generated constructor stub
}

static {
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, username, password);
}

public static void close(ResultSet rs, Statement st, Connection conn) {
try {
if (rs != null) {
rs.close();

}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (st != null) {
st.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

}

public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = getConnection();
String sql = "select * from testaaaaa";
ps = conn.prepareStatement(sql);
// ps.setString(1, "psName");
// ps.setString(2, "psPassword");
// ps.setString(3, "jkjs@126.com");
// ps.setInt(4, 23);
// ps.setDate(5, new java.sql.Date(new java.util.Date().getDate()));
// ps.setFloat(6, 2344);
rs = ps.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString("name"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(rs, ps, conn);
}
}

}



mycat 做mysql中间件问题

4 个解决方案

#1


求问,什么意思。为什么会连接不上!

#2


问题已经解决,由于liunx系统防火墙问题,忘记给8066端口开放,所以导致无法连接

只需要在你的liunx系统中,开放 8066端口(你所配置的mycat端口)就可以正常的连接使用!

#3


有用在生产环境中吗?稳定吗?和mysql-proxy比起来如何?可以详细回复下,谢谢~

#4


引用 3 楼 ycdyx 的回复:
有用在生产环境中吗?稳定吗?和mysql-proxy比起来如何?可以详细回复下,谢谢~

可看看权威指南,里面有介绍,当然也有例子:
Mycat权威指南_V1.5.3(总)免费下载,可预览

#1


求问,什么意思。为什么会连接不上!

#2


问题已经解决,由于liunx系统防火墙问题,忘记给8066端口开放,所以导致无法连接

只需要在你的liunx系统中,开放 8066端口(你所配置的mycat端口)就可以正常的连接使用!

#3


有用在生产环境中吗?稳定吗?和mysql-proxy比起来如何?可以详细回复下,谢谢~

#4


引用 3 楼 ycdyx 的回复:
有用在生产环境中吗?稳定吗?和mysql-proxy比起来如何?可以详细回复下,谢谢~

可看看权威指南,里面有介绍,当然也有例子:
Mycat权威指南_V1.5.3(总)免费下载,可预览