MyCat實現mysql數據庫的讀寫分離

上一節已經配置好MySql的主從了,繼續往下使用MyCat數據庫中間件來配置MySql數據庫的讀寫分離。能夠大大提升MySql數據庫的性能。。java

仍是那兩臺機器: Master 10.10.95.76 Slave 10.10.95.79 這裏把MyCat安裝到Master主機上,使用Master做爲寫節點,,Slave做爲讀節點,, 有條件的話能夠配置多個讀節點,以提升性能。。mysql

前提條件: 1.mycat是用java寫的,要使用必須安裝jdk,而且配置好環境變量、 2.讀數據和寫數據節點的時間必須徹底一致,不然沒法配置git

廢話很少說,看如何配置github

1.下載mycat,這裏使用1.4版本 https://github.com/MyCATApache/Mycat-downloadsql

2.下載後解壓到/usr/local/mycat目錄下數據庫

輸入圖片說明

3.配置MYCAT_HOME vi /etc/profileapp

輸入圖片說明

4.修改myCat/conf/wrapper.conf文件 配置java地址(網上不少教程都沒有這步)負載均衡

輸入圖片說明

下面這些JVM參數要根據物理機器大小來配置,若是超過物理機器大小,會啓動不了性能

輸入圖片說明

5.修改server.xml文件.net

輸入圖片說明

這裏配置mycat的用戶名和登陸密碼,,注意:schemas要和schemal.xml中的schemas節點name一致 test用戶能夠進行讀寫,user用戶只能進行讀操做 6.下面進行最重要的一步操做:修改schemas.xml文件 輸入圖片說明

這裏配置的是數據庫的名稱,必定要和server.xml文件中的一致,<table>節點配置的是數據表的信息,項目中的全部表均可以在這裏面進行配置,具體節點的信息這裏不作解釋。

<table>中的表名必定是真是的物理表名。。 ![輸入圖片說明](https://static.oschina.net/uploads/img/201712/25155018_4s5l.jpg "在這裏輸入圖片標題")

上面這些事mycat中最最核心的配置,,首先配置dataNode節點,這個節點和數據庫相關,每一個databases對應的物理數據庫。。 dataHost節點來配置數據庫的心跳檢測和讀寫節點的信息, balance屬性是負載均衡類型:0 全部讀操做都發送到writeHost上,1-全部讀操做隨機發送到readHost節點,2 全部讀操做隨機發送到writeHost和readHost節點上。。 writeType : 0全部寫操做都發送到寫節點 1全部寫操做都發送到讀節點,2全部寫操做隨機發送到讀節點和寫節點。。

<hearbeat>配置的是心跳檢測,先使用默認的就行 <writeHost>節點配置的事寫節點的信息 <readHost>配置讀節點的信息,注意,在writeHost裏面配置,能夠配置多個讀節點。。

到此爲止,,配置工做完成。。。。

啓動mycat

進入bin目錄下 ./mycatconsole 輸入圖片說明 表示啓動成功,,, 也可使用./mycat start myCat server is running... 表示啓動成功。。

登錄MYCAT:

8066是mycat的數據管理端口,9066是mycat的服務端口

登錄到mycat使用數據管理端口 輸入圖片說明 進入之後的操做就和mysql同樣啦。。。。

如今進行驗證讀寫操做,, 首先進行插入操做:

接下來去查看mycat日誌: 進入mycat/logs目錄下:tail -f mycat.log命令 輸入圖片說明 從上面的信息能夠看到發送到的地址是10.10.95.76是寫節點。。

接下來看讀操做

輸入圖片說明 再次查看mycat日誌:

發送到了10.10.95.79地址,,也就是咱們的讀節點

到此爲止咱們的讀寫分離已經搭建成功了。。

寫完很懵逼,下一步要對mycat的配置進行詳細的研究,, 敬請期待....

相關文章
相關標籤/搜索