上篇简介了怎样在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集群的负载均衡和读写分离。

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

【MySQL集群】——Java程序连接MySQL集群的更多相关文章

  1. MySQL学习(一)——Java连接MySql数据库

    MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...

  2. Linux配置mysql (centos配置java环境 mysql配置篇 总结四)

    ♣安装的几种方法和比较 ♣配置yum源 ♣安装mysql ♣启动mysql ♣修改密码 ♣导入.sql文件 ♣缓存设置 ♣允许远程登录(navicat) ♣配置编码为utf8  1.关于Linux系统 ...

  3. java程序连接MySQL数据库

    驱动程序:mysql-connector-java-5.1.7-bin.jar. 程序示例如下: package commonProject; import java.sql.Connection; ...

  4. 解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题

    一.背景 最近在家里捣鼓一个公司自己搭建的demo的时候,发现程序一启动就会出现CommunicationsException: Communications link failure错误,经过一番排 ...

  5. MySQL学习(三)——Java连接MySQL数据库

    1.什么是JDBC? JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据 ...

  6. mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离

    数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了 ...

  7. HUE配置文件hue.ini 的database模块详解(包含qlite、mysql、 psql、和oracle)(图文详解)(分HA集群和非HA集群)

    不多说,直接上干货! Hue配置文件里,提及到,提供有postgresql_psycopg2, mysql, sqlite3 or oracle. 注意:Hue本身用到的是sqlite3. 在哪里呢, ...

  8. mysql的AB及读写和集群

    Mysql的AB及读写  第1章 Mysql的AB配置 1.1 master配置 1.2 slave配置 第2章 读写分离 2.1 安装mycat 2.2 启动mycat 2.3 登录mycat相关问 ...

  9. MHA-结合MySQL半同步复制高可用集群(Centos7)

    目录 一.理论概述 本案例部署思路 二.环境 三.部署 部署MHA 部署二进制包MySQL及部署主从复制 部署半同步复制 配置MHA MHA测试 部署lvs+keepalived(lvs1,lvs2) ...

随机推荐

  1. 7. java操作MongoDB,采用_id查询

    转自:https://www.2cto.com/database/201704/633262.html mongodb命令行_id查询方法 直接用ObjectId() db.getCollection ...

  2. Linux安全应用之防垃圾邮件服务器的构建

    Linux安全应用之防垃圾邮件服务器的构建 一.垃圾邮件产生的原因 垃圾邮件(SPAM) 也称作UCE(Unsoticited Commercial Email.未经许可的商业电子邮件)或UBE(Un ...

  3. installp 操作

    installp  软件安装和升级工具     1.查看某个已应用更可被提交或拒绝的文件集) installp -s   2. 应用更新TCP/IP软件( /usr/sys/inst.images ) ...

  4. window.location.href和window.top.location.href的区别

    if (window.location.href == window.top.location.href) {     window.top.location.href = "/index. ...

  5. [Python] Manipulate Data with Dictionaries in Python

    Dictionaries may be familiar to you as hash maps. In this lesson, you will learn how to create them, ...

  6. Silverlight 应用程序中未处理的错误

    Silverlight 开发中遇到个错误: SCRIPT5022: Silverlight 应用程序中未处理的错误 代码: 2108 类别: InitializeError 消息: 无法下载初始屏幕或 ...

  7. HTML5:标记文字

    文本层面的元素(简称文本元素).把这些元素加入文本其中,也就引入了结构和含义. HTML5规范明白指出:使用元素应该全然从元素的语义出发.但这类元素中有些元素的含义很明白,有些则比較含糊. 在元素的使 ...

  8. ThinkPHP5如何修改默认跳转成功和失败页面

    ThinkPHP5如何修改默认跳转成功和失败页面 一.总结 一句话总结:直接修改默认跳转页面对应的模板文件的路径:'dispatch_success_tmpl' => APP_PATH . 'i ...

  9. SpringBoot与Dubbo整合-项目搭建

    本章节建立生产者和消费者来演示dubbo的demo 生产者:springboot-dubbo-provider 和 消费者:springboot-dubbo-consumer 工程配置详解 Apach ...

  10. 在kafka/config/目录下面有3个配置文件参数说明(producer.properties。consumer.properties。server.properties)

    (1).producer.properties:生产端的配置文件 #指定kafka节点列表,用于获取metadata,不必全部指定 #需要kafka的服务器地址,来获取每一个topic的分片数等元数据 ...