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

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

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

详细操作为:

mysql> grant all privileges on MySQL_Cluster_Test.* to [email protected]‘%‘ 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集群的负载均衡和读写分离。

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

时间: 2024-12-27 21:08:27

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

Java程序连接MySQL数据库

(1)调用Class.forName()方法加载相应的数据库驱动程序 Class.forName(“com.mysql.jdbc.Driver”); (2)调用DriverManager.getConnection()方法,获得一个Connection对象,它表示一个打开的连接 Connection conn = DriverManager.getConnection(URL, username, password); (3)使用Connection.createStatement()方法创建一

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

1.什么是JDBC? JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句. 2.JDBC原理 SUN提供访问数据库规范称为JDBC,而生产厂商提供的实现类称为驱动. JDBC是接口,而JDBC驱动才是接口的实现,没有驱动无法完成数据库连接! 每个数据库厂商都有自己的驱动,用来连接自己公司的数据库. 3.JDBC开发步骤

第二次作业:MySQL数据库及Java操作MySQL数据库

把mysql与java连接的jar(mysql-connector-java-5.1.6-bin.jar)包导入工程. package com.cn.edu; import java.beans.Statement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLE

Java链接mysql操作

Java 链接mysql数据库操作 java链接mysql 首先加载mysql在java中的jdbc驱动 Class.forName("com.mysql.jdbc.Driver"); 其次建立与mysql已有数据库建立连接 String url = "jdbc:mysql://localhost:3306/mydata?userUnicode=true&characterEncoding=utf-8&useSSL=false" 其中jdbc是调用j

java连接mysql简单实现

因为最近要做一个涉及到数据库的具体应用,选择数据库mysql,用java连接mysql做一个学生信息管理系统的简单版本. 工具:eclipse,jdbc,mysql 如上一篇中,mysql为免安装版本,没有装可视化,所以使用命令行对数据库执行操作. 1.登录 进入相关目录后输入指令进行登录 mysql -u root -p 登录后可以查看现有数据库:show databases: 2.新建数据库 新建一个数据库studentbase,并查看. create database studentbas

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

主要思路 测试环境 实现mysql主备复制 配置A主mysql 配置B备mysql 验证同步配置结果 验证是否同步 关闭B备mysql的同步,验证读写分离 实现读写分离 安装mycat 配置mycat 启动mycat 测试读写分离 验证是否同步 关闭B备mysql的同步,验证读写分离 数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,

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

数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定. 测试环境 MYSQL版本:Server version: 5.5.53,到官网可以下载WINDWOS安装包. 注意:确保mysql版本为5.5以后,以前版本主备同步配置方式不同. linux实现思路类似,修改my.cnf即可. A主mysql.19

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

目录 一.理论概述 本案例部署思路 二.环境 三.部署 部署MHA 部署二进制包MySQL及部署主从复制 部署半同步复制 配置MHA MHA测试 部署lvs+keepalived(lvs1,lvs2) 四.总结 一.理论概述 在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用. 优点 缺点 由perl语言开发的开源工具 需要编写脚本或利用第三方工具来实现Vip的配置 支持

mysql的AB及读写和集群

Mysql的AB及读写  第1章 Mysql的AB配置 1.1 master配置 1.2 slave配置 1.2.1 192.168.13.190 1.2.2 192.168.13.191 1.2.3 192.168.13.192 1.2.4 192.168.13.193 1.2.4 192.168.13.189 第2章 读写分离 2.1 安装mycat 2.1.1 server.xml 2.1.1 schema.xml 2.2 启动mycat 2.2.1 启动mycat 2.2.2 mycat