Java程序访问Mysql Cluster

针对我们上文双机冗余备份和负载均衡策略(mysql cluster入门安装配置指南)中配置好的mysql集群,我们应当下面就创建数据库,利用mysql cluster来进行冗余备份和负载均衡,

在192.168.56.10或者192.168.56.20任意一台机器上,访问数据库,命令为:

1 bin/mysql

比如现在我在192.168.56.10机器上面创建数据库assetscenterdb,执行命令:

1 create database assetscenterdb

创建成功之后,在192.168.56.20的机器上面就可以看到我们创建的这个数据库,接下来我们要创建数据库表,

这里我们注意数据库表的engine是ndb,比如说数据库里面我的一个表结构这个样子:

1 create table `ac_asset` (

2`id` int(11) not null auto_increment,

3`type_id` int(11) not null,

4`status` tinyint(4) not null,

5`sn` varchar(50) default null,

6`description` text,

7`eltms` varchar(50) default null,

8`order_name` varchar(50) default null,

9`owner_name` varchar(50) default null,

10`warehouse_time` varchar(50) default null,

11`location` varchar(100) default null,

12`price` double default null,

13`user_name` varchar(50) default null,

14primary key (`id`)

15 ) engine=ndb auto_increment=1726 default charset=utf8;

只有这样子,这两台机器才能共享数据库的数据结构,此时在另外一台机器上面,执行命令:

1 show tables

就可以看到我们创建的这张表。

那么java程序如何访问呢,我采用的jdbc驱动为mysql-connector-5.1.12,连接串如下:

1 jdbc:mysql:loadbalance://192.168.56.10:3306,192.168.56.20:3306/assetscenterdb?roundrobinloadbalance=true

使用roundrobin算法,若是其中一台机器down掉以后,将会自动将不能访问的数据库服务器 踢除,如果还原后将继续进行压力分载。

其余的数据库操作就和普通的一样。

接下来我们还需要配置数据库允许远程访问,比如我把服务器放在192.168.56.30机器上面,我需要在另外两台机器上面分别配置:

1 grant all on *.* to root@"192.168.56.30" identified by "你的密码"

然后你运行服务器就可以正常访问了。

如果此时你的程序还不能正常访问,那么你就需要看我这一篇博文mysql数据库“error 1042 (hy000): can't get hostname for your address”问题,

因为我就遇到了这种问题,我本地用上述配置就可以了,可是我把机器放到lab中去了,mysql连接不上了,出现了error 1042 (hy000): can't get hostname for your address错误,

可能就是mysql的dns解析除了问题,我的本地环境和lab的dns不一样,才会造成这个问题的。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值