Java程式訪問Mysql Cluster

來源:互聯網
上載者:User

針對我們上文雙機冗餘備份和負載平衡策略(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,
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 "你的密碼"

然後你運行伺服器就可以正常訪問了。

如果此時你的程式還不能正常訪問,那麼你就需要看我這一篇博文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不一樣,才會造成這個問題的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.