真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

下文給大家?guī)?lái)關(guān)于MySQL基于amoeba如何實(shí)現(xiàn)讀寫分離,感興趣的話就一起來(lái)看看這篇文章吧,相信看完mysql基于amoeba如何實(shí)現(xiàn)讀寫分離對(duì)大家多少有點(diǎn)幫助吧。

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括善右網(wǎng)站建設(shè)、善右網(wǎng)站制作、善右網(wǎng)頁(yè)制作以及善右網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,善右網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到善右省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

環(huán)境:

        主機(jī)A( huangzp2):172.16.115.157

        主機(jī)B( huangzp3):172.16.115.100

        主機(jī)C( huangzp4):172.16.115.87

說(shuō)明:

  • 依賴于主從結(jié)構(gòu)

  • 需要中間件(連接兩個(gè)獨(dú)立的應(yīng)用程序或獨(dú)立的系統(tǒng),即使沒(méi)有相同的接口,也能為他們交換數(shù)據(jù))實(shí)現(xiàn),如tomcat、weblogic、數(shù)據(jù)庫(kù)中間件

  • mysql proxy,支持讀寫分離、負(fù)載均衡、故障轉(zhuǎn)移,缺點(diǎn):性能差,不支持大數(shù)量轉(zhuǎn)發(fā),需要用到lua腳本

  • atlas,性能較差,相應(yīng)時(shí)間較長(zhǎng),不支持動(dòng)態(tài)參數(shù)的配置加載,即先關(guān)閉數(shù)據(jù)庫(kù),不適用在線業(yè)務(wù);

  • amoeba,阿里研發(fā)和使用的,除了支持讀寫分離,也支持?jǐn)?shù)據(jù)庫(kù)分區(qū)、分表操作,對(duì)數(shù)據(jù)庫(kù)性能較小,因?yàn)檠邪l(fā)工程師跳槽至盛大,怕數(shù)據(jù)泄露,不用

  • cobar,阿里現(xiàn)在在使用的中間件,半開(kāi)源軟件,有較多限制)

1. 主從機(jī)器AB上安裝mysql和mysql-server,修改配置文件和授權(quán)、查看狀態(tài)

     yum install -y mysql mysql-server

    主上A:修改配置文件vim /etc/my.cnf,重啟,授權(quán)(所有權(quán)限,更方便)、狀態(tài)

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離  

     grant all privileges on *.* to 'silen'@'%' identified by '123456';

     說(shuō)明:

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離 

     從上B:修改配置文件vim /etc/my.cnf,重啟,填寫Master.info信息、開(kāi)啟slave,查看狀態(tài)

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

      主上A:

    mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

      從上B:

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

2. 從上也需要授權(quán),讓中間件能過(guò)訪問(wèn)

    grant all privileges on *.* to 'silen'@'%' identified by '123456';

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

3. 中間件云服務(wù)器設(shè)置

3.1 環(huán)境:

  (1)先安裝gcc環(huán)境;

    yum install -y gcc*

   (2)需要獲得amoeba主程序:amoeba-mysql-1.3.1-BETA.zip

下載鏈接:http://101.110.118.21/jaist.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/amoeba-mysql-1.3.1-BETA.zip

   (3)java的安裝包:jdk-7u40-linux-x64.tar.gz

    下載鏈接:

http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

3.2 配置全局變量

3.2.1 創(chuàng)建 /amoeba目錄,將java解壓到該目錄下

   mkdir /amoeba

   tar -zxvf jdk-7u40-linux-x64.tar.gz -C /amoeba/

3.2.2 目錄標(biāo)題較長(zhǎng),做個(gè)軟鏈接,即可

   ln -s jdk1.7.0_40/ jdk

3.2.3 編輯全局變量

   vim /etc/profile配置java選項(xiàng)(java的東西都需要聲明)

    JAVA_HOME=/amoeba/jdk

    export JAVA_HOME

    PATH=$JAVA_HOME/bin:$PATH

    export PATH

    CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

    export CLASSPATH

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

說(shuō)明:

  • JAVA_HOME表示java的目錄位置,設(shè)置為全局變量,這樣其他shell也可以使用

  • java目錄下的工具腳本加入到系統(tǒng)環(huán)境變量中,便于執(zhí)行命令,也升級(jí)為全局變量

  • CLASSPATH表示java類的庫(kù)的環(huán)境變量,把當(dāng)前目錄.,java下的tool.jar,dt.jar加入到變量中(Linux下用冒號(hào)隔開(kāi),Windows下用分號(hào)隔開(kāi)),也升級(jí)為全局變量

3.2.4. 刷新下全局變量文件

   source /etc/profile

3.2.5 驗(yàn)證java是否可用

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

3.3 安裝配置amoeba

3.3.1 解壓至/usr/local/amoeba目錄下

   unzip amoeba-mysql-1.3.1-BETA.zip -d /usr/local/amoeba

3.3.2 添加命令執(zhí)行權(quán)限,便于調(diào)用命令

  chmod -R +x /usr/local/amoeba/bin/

3.3.3 修改amoeba主配置文件

   vim /usr/local/amoeba/conf/amoeba.xml

...(云服務(wù)器性能部分設(shè)置)

A. 找到:

去注釋,改amoeba的云服務(wù)器(中間件)ip為:

172.16.115.87

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

B. 找到:

去注釋,修改amoeba的root登錄密碼為123456:

123456

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

...(amoeba每一個(gè)數(shù)據(jù)庫(kù)云服務(wù)器,對(duì)應(yīng)一個(gè)dbServer)(數(shù)據(jù)庫(kù)云服務(wù)器列表部分設(shè)置)

A.  下找到:

127.0.0.1

將ip地址改為主一的ip(端口和數(shù)據(jù)庫(kù)名可以默認(rèn)3306、test):

172.16.115.157

B. 找到:

root

將用戶名改為授權(quán)的zhangshan:

silen

C. 找到:

去掉注釋,將密碼改為123456:

123456

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

D. 找到:

修改dbserver池子名為master(定義池子下面哪些server屬于master這個(gè)池子,用來(lái)擴(kuò)展云服務(wù)器):

E. 找到:

server1

如果master池子新增多臺(tái)主云服務(wù)器,比如server1(已在master池子中了)、server2、server3,則修改為:

server1,server2,server3

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

F. 因?yàn)橛袃膳_(tái)數(shù)據(jù)庫(kù)云服務(wù)器,已經(jīng)設(shè)置了主云服務(wù)器,所以需復(fù)制主云服務(wù)器的dbServer,作為模板,修改從云服務(wù)器dbServer

復(fù)制(64行-109行),粘貼在...范圍內(nèi):

...

(1)修改dbServer的名稱為server2:

   dbServer name="server2"

(2)ip地址修改為192.168.9.252:

   172.16.115.100

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

(3)在下,修改池子名稱為slave:

     

(4)slave池子下server主機(jī)名字修改為server2:

     server2

mysql基于amoeba如何實(shí)現(xiàn)讀寫分離 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

最后跳出

A. 找到:

    server1

    將單臺(tái)云服務(wù)器的名稱修改為池子名稱(如果有多臺(tái)主機(jī),依次輪詢?nèi)シ峙洌?,作為默認(rèn)訪問(wèn)的云服務(wù)器:

   master

B. 找到:

   

   去掉注釋,寫入池改為master,讀取池改為slave:

  master

  slave

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

3.4 查看并編輯amomeba的執(zhí)行腳本文件:

   vim /usr/local/amoeba/bin/amoeba

A. 找到:

    DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"

修改為:

    DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss256k"

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

3.5 啟動(dòng)amoeba程序,并查看進(jìn)程

      說(shuō)明:nohup命令表示,放在后臺(tái)啟動(dòng),即使采用遠(yuǎn)程連接,遠(yuǎn)程斷了,也能運(yùn)行

      nohup bash -x /usr/local/amoeba/bin/amoeba &

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

4. 中間件云服務(wù)器,安裝mysql,不需要安裝mysql-server,登錄amoeba

    說(shuō)明:用戶為配置文件中指定的用戶和密碼,默認(rèn)端口為8066,登錄的其實(shí)中間件,調(diào)用的是主從服務(wù)上的mysql,這里安裝的mysql只是一個(gè)登錄的工具

    yum install mysql -y

    mysql -u root -p123456 -h272.16.115.87 -P 8066

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

    測(cè)試:實(shí)際生產(chǎn)環(huán)境中,不需要操作!?。?/p>

    停用從云服務(wù)器slave,即stop slave,在主和從云服務(wù)器上的test庫(kù)中創(chuàng)建一個(gè)a1表(表名需一致,因?yàn)槭侵鲝?,分別插入一條數(shù)據(jù)master和slave

    主上: 

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

    從上:

mysql基于amoeba如何實(shí)現(xiàn)讀寫分離 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

   

    結(jié)論:中間件查看a1表中數(shù)據(jù),反復(fù)查詢都是slave,表明,查詢數(shù)據(jù)是從從云服務(wù)器中獲得

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

    中間件,往a1表中插入一條數(shù)據(jù)amoeba

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

     結(jié)論:在主云服務(wù)器上的a1表中看到amoeba數(shù)據(jù),表明寫數(shù)據(jù)是在主云服務(wù)器中寫入

     主上:

  mysql基于amoeba如何實(shí)現(xiàn)讀寫分離 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

     從上:

 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

    最后分別刪掉主和從上的test庫(kù)中的tb1表,從上開(kāi)啟slave

mysql基于amoeba如何實(shí)現(xiàn)讀寫分離 mysql基于amoeba如何實(shí)現(xiàn)讀寫分離

看了以上關(guān)于mysql基于amoeba如何實(shí)現(xiàn)讀寫分離詳細(xì)內(nèi)容,是否有所收獲。如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。


當(dāng)前題目:mysql基于amoeba如何實(shí)現(xiàn)讀寫分離
文章出自:http://weahome.cn/article/poggpj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部