標籤:amoeba-mysql主從+讀寫分離實戰+測試+排錯
Amoeba-mysql讀寫分離實戰
Amoeba用途有很多,這裡看標題我們就先說讀寫分離,因為我也只會這個。Amoeba定義為國內的,開源的。目前(2015年10月20日)我們用amoeba2.2版本來做。
先說一下本人環境:650) this.width=650;" title="1.png" src="http://s3.51cto.com/wyfs02/M00/74/AF/wKioL1Ym5zbyIxExAADay0VnuMg256.jpg" alt="wKioL1Ym5zbyIxExAADay0VnuMg256.jpg" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
Mysql 5.6
Centos 6.4
Mysql一主兩從已OK。
Amoeba 2.2.x
Amoeba:http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/
由於Amoeba需要用到jave se 所以我們需要安裝jdk環境。
最新的1.8 可用。
安裝jdk:
rpm -ivh jdk-8u60-linux-x64.rpm
650) this.width=650;" title="2.png" src="http://s3.51cto.com/wyfs02/M01/74/B2/wKiom1Ym50jR_QM_AAEV4426fbg217.jpg" alt="wKiom1Ym50jR_QM_AAEV4426fbg217.jpg" width="650" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
source /etc/profile
驗證jdk:
650) this.width=650;" title="3.png" src="http://s3.51cto.com/wyfs02/M02/74/B2/wKiom1Ym52qSsKYOAAEhME4H_Cc727.jpg" alt="wKiom1Ym52qSsKYOAAEhME4H_Cc727.jpg" width="650" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
Jdk就完事了,現在開始amoeba的安裝。
先建立目錄檔案
mkdir /usr/local/amoeba
tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba
解壓指定目錄
650) this.width=650;" title="4.png" src="http://s3.51cto.com/wyfs02/M02/74/AF/wKioL1Ym57rCmWhXAAFbVfwqpww932.jpg" alt="wKioL1Ym57rCmWhXAAFbVfwqpww932.jpg" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
然後我們進入conf檔案,這裡的xml為儲存amoeba設定串連mysql的資料
在amoeba目錄下,輸入
./bin/amoeba
650) this.width=650;" title="5.png" src="http://s3.51cto.com/wyfs02/M00/74/B2/wKiom1Ym56mhWXu9AABAvOaodL4427.jpg" alt="wKiom1Ym56mhWXu9AABAvOaodL4427.jpg" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
如果出現說明amoeba安裝OK,
接下來設定amoeba的參數,設定參數的檔案在conf目錄下的amoeba.xml和dbServers.xml兩個檔案。
先看 dbServiers.xml
650) this.width=650;" title="6.png" src="http://s3.51cto.com/wyfs02/M00/74/AF/wKioL1Ym5-uyJ-yDAARt_eq2r5A452.jpg" alt="wKioL1Ym5-uyJ-yDAARt_eq2r5A452.jpg" width="650" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
grant all on *.* to [email protected]‘192.168.0.191‘ identified by "123456";這條命令是需要在用戶端啟動並執行,讓amoeba調度器能夠串連我們的資料庫並做操作
650) this.width=650;" title="7.png" src="http://s3.51cto.com/wyfs02/M01/74/B2/wKiom1Ym5-HyttdUAAPoUDHtH64447.jpg" alt="wKiom1Ym5-HyttdUAAPoUDHtH64447.jpg" width="650" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
這個dbServers.xml就設定到這裡
接下來看amoeba.xml
650) this.width=650;" title="8.png" src="http://s3.51cto.com/wyfs02/M02/74/B2/wKiom1Ym5_2SAOlWAAMQ1eTXXC4730.jpg" alt="wKiom1Ym5_2SAOlWAAMQ1eTXXC4730.jpg" width="650" style="padding:0px;margin:0px;vertical-align:top;border:none;" />650) this.width=650;" title="9.png" src="http://s3.51cto.com/wyfs02/M02/74/AF/wKioL1Ym6D_h4ZprAAN8fzp7MGk709.jpg" alt="wKioL1Ym6D_h4ZprAAN8fzp7MGk709.jpg" width="650" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
配置完成後儲存。
然後啟用amoeba
/usr/local/amoeba/bin/amoeba & &表示在後台運行
如果出現
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/75/77/wKiom1Y5tEDQktl4AAFO8PV24ao190.jpg" title="1.png" alt="wKiom1Y5tEDQktl4AAFO8PV24ao190.jpg" />開啟bin/amoeba
DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"
改成
DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss256k"
用ps –ef |grep amoeba 看一下是否啟動
查看netstat -tunlp | grep 8066 看一下連接埠是否開啟
##amoeba這台機器是不用開啟mysql服務
在其他用戶端上驗證是否可以登入amoeba上;
650) this.width=650;" title="10.png" src="http://s3.51cto.com/wyfs02/M02/74/AF/wKioL1Ym6F7hkcY1AABGN6mSdvA342.jpg" alt="wKioL1Ym6F7hkcY1AABGN6mSdvA342.jpg" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
這樣就表示登入成功。
650) this.width=650;" title="11.png" src="http://s3.51cto.com/wyfs02/M00/74/B2/wKiom1Ym6E-A4lJoAAEF1P-PbwU124.jpg" alt="wKiom1Ym6E-A4lJoAAEF1P-PbwU124.jpg" style="padding:0px;margin:0px;vertical-align:top;border:none;" />
到此讀寫分離就已經搭建完成了,如果要結合到前段web的應用上就把web端的資料庫連接改到amoeba這台伺服器的8066連接埠上,使用者名稱密碼就是amoeba.xml裡配置的使用者名稱和密(並非real-mysql-server)的使用者。
此處我前端web是discuz論壇,就要修改/usr/local/nginx/html/config/config_global.php
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/75/76/wKioL1Y5v6SCVrOXAAKfBq_TL2g715.jpg" title="2.png" alt="wKioL1Y5v6SCVrOXAAKfBq_TL2g715.jpg" />
Amoeba-mysql主從+讀寫分離實戰+測試+排錯