今天用amoeba做了次讀寫分離,下面總結下步驟:
三台linux:
1、192.168.1.213 用于做amoeba伺服器
2、192.168.1.184 用于mysql資料庫
3、192.168.1.185 用于mysql資料庫
#service iptables stop
#setenforce 0
一、運作amoeba需要java運作環境,是以先安裝jdk環境
rpm –ivh jdk-7u45-linux-i586.rpm
vim /etc/profile tomcat配置檔案
追加:
export JAVA_HOME=/usr/java/jdk1.8.0_20
export JAVA_BIN=/usr/java/jdk1.8.0_20/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile 讓修改的檔案立即生效
java –version 顯示版本
到這一步,顯示出來java的版本就說明成功了
二、配置amoeba
建立一個amoeba的檔案夾
mkdir /root/amoeba
tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /root/amoeba
cd /root/amoeba
1、首先修改dbServer.xml
vim /root/amoeba/conf/dbServer.xml //修改該檔案
2、接下來在修改amoeba.xml
vim /root/amoeba/conf/amoeba.xml
_
#####################################分界線###########################################
ok ,amoeba的操作先到這一步
下面去.1.184的那台資料庫上去
service mysqld start
mysql -uroot -p
mysql>grant all on *.* to admin@'%' identified by '123456';//建立遠端使用者并授權
mysql>flush privileges;
mysql>create database lxl; //建立資料庫lxl,剛才在amoeba配置檔案中都用這個資料庫
mysql>create table lxl.t_test(id int(3)); //在lxl資料庫裡建立表
mysql>insert into lxl.t_test values(1); //插入 3條記錄
mysql>insert into lxl.t_test values(2);
mysql>insert into lxl.t_test values(3);
.1.184上的資料庫準備工作算是完成了,下面去.1.185上準備一下
mysql>insert into lxl.t_test values(4); //插入 2條記錄
mysql>insert into lxl.t_test values(5);
#####################################分界線##########################################
切換到amoeba伺服器上,啟動amoeba,
cd /root/amoeba/bin
./amoeba start&
使用遠端登入amoeba
mysql –uamoeba –p1234 –P8066 –h 192.168.1.213 //使用 amoeba代理器的使用者名和密碼登入proxy端
現在就可以插入資料,因為之前兩台資料庫的資料不一樣,你插入一條,可以很明顯的看出差別。
讀寫分離到此算是結束了,希望對你有幫助!
ps:今天我做實驗時,由于先給兩台資料庫做了主主複制。導緻雖然amoeba配置成功了,兩台資料庫插入資料庫,實時同步,糾結了半天