在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,14 PRIMARY 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 "你的密码"
然后你运行服务器就可以正常访问了。