99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

mysql基于amoeba如何實現讀寫分離-創新互聯

下文給大家帶來關于mysql基于amoeba如何實現讀寫分離,感興趣的話就一起來看看這篇文章吧,相信看完mysql基于amoeba如何實現讀寫分離對大家多少有點幫助吧。

成都創新互聯是專業的聶榮網站建設公司,聶榮接單;提供網站設計、成都做網站,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行聶榮網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

環境:

    主機A( huangzp2):172.16.115.157

    主機B( huangzp3):172.16.115.100

    主機C( huangzp4):172.16.115.87

說明:

  • 依賴于主從結構

  • 需要中間件(連接兩個獨立的應用程序或獨立的系統,即使沒有相同的接口,也能為他們交換數據)實現,如tomcat、weblogic、數據庫中間件

  • mysql proxy,支持讀寫分離、負載均衡、故障轉移,缺點:性能差,不支持大數量轉發,需要用到lua腳本

  • atlas,性能較差,相應時間較長,不支持動態參數的配置加載,即先關閉數據庫,不適用在線業務;

  • amoeba,阿里研發和使用的,除了支持讀寫分離,也支持數據庫分區、分表操作,對數據庫性能較小,因為研發工程師跳槽至盛大,怕數據泄露,不用

  • cobar,阿里現在在使用的中間件,半開源軟件,有較多限制)

1. 主從機器AB上安裝mysql和mysql-server,修改配置文件和授權、查看狀態

   yum install -y mysql mysql-server

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

 mysql基于amoeba如何實現讀寫分離

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

   說明:

 mysql基于amoeba如何實現讀寫分離

 mysql基于amoeba如何實現讀寫分離

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

 mysql基于amoeba如何實現讀寫分離

 mysql基于amoeba如何實現讀寫分離

 mysql基于amoeba如何實現讀寫分離

   主上A:

   mysql基于amoeba如何實現讀寫分離

   從上B:

 mysql基于amoeba如何實現讀寫分離

2. 從上也需要授權,讓中間件能過訪問

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

 mysql基于amoeba如何實現讀寫分離

3. 中間件云服務器設置

3.1 環境:

 (1)先安裝gcc環境;

  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 創建 /amoeba目錄,將java解壓到該目錄下

  mkdir /amoeba

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

3.2.2 目錄標題較長,做個軟鏈接,即可

  ln -s jdk1.7.0_40/ jdk

3.2.3 編輯全局變量

  vim /etc/profile配置java選項(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如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

說明:

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

  • java目錄下的工具腳本加入到系統環境變量中,便于執行命令,也升級為全局變量

  • CLASSPATH表示java類的庫的環境變量,把當前目錄.,java下的tool.jar,dt.jar加入到變量中(Linux下用冒號隔開,Windows下用分號隔開),也升級為全局變量

3.2.4. 刷新下全局變量文件

  source /etc/profile

3.2.5 驗證java是否可用

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

3.3 安裝配置amoeba

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

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

3.3.2 添加命令執行權限,便于調用命令

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

3.3.3 修改amoeba主配置文件

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

<server>...</server>(云服務器性能部分設置)

A. 找到:

<!--

<property name="ipAddress">127.0.0.1</property>

-->

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

<property name="ipAddress">172.16.115.87</property>

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

B. 找到:

<!--

<property name="password">password</property>

-->

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

<property name="password">123456</property>

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

<dbServerList>...</dbServerList>(amoeba每一個數據庫云服務器,對應一個dbServer)(數據庫云服務器列表部分設置)

A.  <dbServer name="server1">下找到:

<property name="ipAddress">127.0.0.1</property>

將ip地址改為主一的ip(端口和數據庫名可以默認3306、test):

<property name="ipAddress">172.16.115.157</property>

B. 找到:

<property name="user">root</property>

將用戶名改為授權的zhangshan:

<property name="user">silen</property>

C. 找到:

<!--

<property name="password">password</property>

-->

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

<property name="password">123456</property>

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

D. 找到:

<dbServer name="multiPool" virtual="true">

修改dbserver池子名為master(定義池子下面哪些server屬于master這個池子,用來擴展云服務器):

<dbServer name="master" virtual="true">

E. 找到:

<property name="poolNames">server1</property>

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

<property name="poolNames">server1,server2,server3</property>

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

F. 因為有兩臺數據庫云服務器,已經設置了主云服務器,所以需復制主云服務器的dbServer,作為模板,修改從云服務器dbServer

復制(64行-109行),粘貼在<dbServerList>...</dbServerList>范圍內:

<dbServer name="server1">...</dbServer>

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

  dbServer name="server2"

(2)ip地址修改為192.168.9.252:

  <property name="ipAddress">172.16.115.100</property>

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

(3)在<dbServer name="multiPool" virtual="true">下,修改池子名稱為slave:

   <dbServer name="slave" virtual="true">

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

   <property name="poolNames">server2</property>

mysql基于amoeba如何實現讀寫分離 mysql基于amoeba如何實現讀寫分離

最后跳出<dbServerList>:

A. 找到:

  <property name="defaultPool">server1</property>

  將單臺云服務器的名稱修改為池子名稱(如果有多臺主機,依次輪詢去分配),作為默認訪問的云服務器:

  <property name="defaultPool">master</property>

B. 找到:

  <!--

  <property name="writePool">server1</property>

  <property name="readPool">server1</property>

  -->

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

 <property name="writePool">master</property>

 <property name="readPool">slave</property>

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

3.4 查看并編輯amomeba的執行腳本文件:

  vim /usr/local/amoeba/bin/amoeba

A. 找到:

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

修改為:

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

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

3.5 啟動amoeba程序,并查看進程

   說明:nohup命令表示,放在后臺啟動,即使采用遠程連接,遠程斷了,也能運行

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

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

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

  說明:用戶為配置文件中指定的用戶和密碼,默認端口為8066,登錄的其實中間件,調用的是主從服務上的mysql,這里安裝的mysql只是一個登錄的工具

  yum install mysql -y

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

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

  測試:實際生產環境中,不需要操作!!!

  停用從云服務器slave,即stop slave,在主和從云服務器上的test庫中創建一個a1表(表名需一致,因為是主從),分別插入一條數據master和slave

  主上:

 mysql基于amoeba如何實現讀寫分離

 mysql基于amoeba如何實現讀寫分離

 mysql基于amoeba如何實現讀寫分離

mysql基于amoeba如何實現讀寫分離

  從上:

mysql基于amoeba如何實現讀寫分離 mysql基于amoeba如何實現讀寫分離

  結論:中間件查看a1表中數據,反復查詢都是slave,表明,查詢數據是從從云服務器中獲得

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

  中間件,往a1表中插入一條數據amoeba

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

   結論:在主云服務器上的a1表中看到amoeba數據,表明寫數據是在主云服務器中寫入

   主上:

 mysql基于amoeba如何實現讀寫分離 mysql基于amoeba如何實現讀寫分離

   從上:

 mysql基于amoeba如何實現讀寫分離mysql基于amoeba如何實現讀寫分離

  最后分別刪掉主和從上的test庫中的tb1表,從上開啟slave

mysql基于amoeba如何實現讀寫分離 mysql基于amoeba如何實現讀寫分離

看了以上關于mysql基于amoeba如何實現讀寫分離詳細內容,是否有所收獲。如果想要了解更多相關,可以繼續關注我們的行業資訊板塊。

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前題目:mysql基于amoeba如何實現讀寫分離-創新互聯
URL網址:http://www.yijiale78.com/article24/cdjhje.html

成都網站建設公司_創新互聯,為您提供服務器托管App開發App設計虛擬主機網站維護定制網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設