【MySQL集群】——Java程序连接MySQL集群
上篇简介了怎样在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集群的更多相关文章
- MySQL学习(一)——Java连接MySql数据库
MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...
- Linux配置mysql (centos配置java环境 mysql配置篇 总结四)
♣安装的几种方法和比较 ♣配置yum源 ♣安装mysql ♣启动mysql ♣修改密码 ♣导入.sql文件 ♣缓存设置 ♣允许远程登录(navicat) ♣配置编码为utf8 1.关于Linux系统 ...
- java程序连接MySQL数据库
驱动程序:mysql-connector-java-5.1.7-bin.jar. 程序示例如下: package commonProject; import java.sql.Connection; ...
- 解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题
一.背景 最近在家里捣鼓一个公司自己搭建的demo的时候,发现程序一启动就会出现CommunicationsException: Communications link failure错误,经过一番排 ...
- MySQL学习(三)——Java连接MySQL数据库
1.什么是JDBC? JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据 ...
- mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离
数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了 ...
- HUE配置文件hue.ini 的database模块详解(包含qlite、mysql、 psql、和oracle)(图文详解)(分HA集群和非HA集群)
不多说,直接上干货! Hue配置文件里,提及到,提供有postgresql_psycopg2, mysql, sqlite3 or oracle. 注意:Hue本身用到的是sqlite3. 在哪里呢, ...
- mysql的AB及读写和集群
Mysql的AB及读写 第1章 Mysql的AB配置 1.1 master配置 1.2 slave配置 第2章 读写分离 2.1 安装mycat 2.2 启动mycat 2.3 登录mycat相关问 ...
- MHA-结合MySQL半同步复制高可用集群(Centos7)
目录 一.理论概述 本案例部署思路 二.环境 三.部署 部署MHA 部署二进制包MySQL及部署主从复制 部署半同步复制 配置MHA MHA测试 部署lvs+keepalived(lvs1,lvs2) ...
随机推荐
- C#初学者使用file.creat()创建文件后,显示正由另一进程使用
string sourcePhotoPath = this.GetUserSelectedPhoto(); if(sourcePhotoPath == null) { return; } string ...
- UTC时间 GMT时间 本地时间 北京时间 时区 夏令时简要说明
1.UTC时间 与 GMT时间 整个地球分为二十四时区,每个时区都有自己的本地时间.为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated). ...
- PHP抓取网页内容的几种方法
方法1: 用file_get_contents 以get方式获取内容 <?php $url='http://www.domain.com/?para=123'; $html = file_get ...
- POJ——T3160 Father Christmas flymouse
Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 3496 Accepted: 1191 缩点,然后每个新点跑一边SPFA ...
- 【java】itoo项目实战之大数据查询之使用 new map 优化hibernate之级联查询
在我的上一篇博客<[java]itoo项目实战之hibernate 懒载入优化性能>中,我曾提到过学生数据有2万条,查询数据十分的慢,这是让人非常受不了的事情.看着页面进度条一直转着圈圈, ...
- 我的Android进阶之旅------>Android实现用Android手机控制PC端的关机和重新启动的功能(二)Androidclient功能展示
Androidclient的实现思路大致例如以下: 1.首先扫描局域网内全部PC,看是否有PC端的server在执行并监听30000port. watermark/2/text/aHR0cDovL2J ...
- kettle(一)概述
近期两个月一直和kettle打交道,从開始的没听说过,到如今能够熟练运用,不得不说项目驱动下,学习东西是最快的.好了,尽管使用kettle应付项目的任务绰绰有余.可是还是想系统的学习一下,总结一下.比 ...
- 编译QCAD
编译QCAD eryar@163.com 目前开源的二维CAD有QCAD.LibreCAD等,且LibreCAD可以说是QCAD的分支版本.对比这款开源软件,发现QCAD的功能与操作习惯和AutoCA ...
- RadioButton的check改变的时候
https://stackoverflow.com/questions/8095256/asp-net-radio-button-change You'll need to specify the a ...
- 关于html(meta的常用的用法)
http://www.haorooms.com/post/html_meta_ds