您的位置:首页 > 编程语言 > Java开发

【MySQL集群】——Java程序连接MySQL集群

2017-06-11 18:22 423 查看

上篇简介了怎样在Windows环境下建立配置MySQL集群,这里用一个实现注冊功能的小Demo通过jdbc的方式连接到MySQL集群中。

外部程序想要远程连接到mysql集群,还须要做的一个操作就是设置sql节点的mysql能够被远程连接。
详细操作为:

mysql> grant all privileges on MySQL_Cluster_Test.* to root@'%' identified by '';
mysql> flush privileges;

表示将MySQL_Cluster_Test这个数据库中全部的表授权给全部机器,登录名为root。password为空。假设仅仅指定某台机器能够连接此数据节点。那把“%”换成对应IP就可以。

UserDAO代码:

public class UserDAO{

/**
* 加入用户
* @param name username
* @param age 用户年龄
* @return
*/
public boolean AddUser(String name,int age){

boolean result=false;//返回值默觉得false

Connection conn=null;//创建数据库连接对象Connection
PreparedStatement pstmt=null;//创建预处理对象PreparedStatement
try {
//注冊驱动
Class.forName("com.mysql.jdbc.Driver");
//建立连接
conn=DriverManager.getConnection("jdbc:mysql://192.168.25.48:3306/MySQL_Cluster_Test","root","");
}catch (Exception e){
e.printStackTrace();
}

try{
String sql="insert into T_User (Name,Age) values(?,?)";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, age);

int count=pstmt.executeUpdate();   //更新数据库并返回受影响行数
if(count>0){
result=true;
}
}catch(Exception e){
e.printStackTrace();
}
return result;
}

/**
* 查询全部用户
* @return List<User>
*/
public List<User> QueryAllUsers(){
List<User> userList=new ArrayList<User>();

Connection conn=null;
Statement stmt=null;
try {
//注冊驱动
Class.forName("com.mysql.jdbc.Driver");
//建立连接
conn=DriverManager.getConnection("jdbc:mysql://192.168.25.48:3306/MySQL_Cluster_Test","root","");
}catch (Exception e){
e.printStackTrace();
}
try {
String sql = "select * from T_User";
stmt=conn.createStatement();
ResultSet rs =stmt.executeQuery(sql);
while(rs.next()){
User tmpUser=new User();
tmpUser.setName(rs.getString("Name"));
tmpUser.setAge(rs.getInt("Age"));
userList.add(tmpUser);
}
} catch (SQLException e) {
e.printStackTrace();
}
return userList;
}
}

假设前面的MySQL集群配置好的话,就能够实现多个server上公布的外部程序都能够共享、操作整个集群中的数据。

但此时的MySQL集群还无法实现负载均衡和读写分离的效果,仅仅起到了数据备份的作用。

后面将继续研究怎样实现MySQL集群的负载均衡和读写分离。

(以上仅仅是主要代码,假设须要整个项目,能够点击【下载地址】下载源代码)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: