麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > 文庫 > 正文

Amoeba達成數據庫讀寫分離

2024-09-07 22:13:02
字體:
來源:轉載
供稿:網友
       Amoeba達成數據庫讀寫分離:

  一 環境以及軟件版本:
  系統:CentOS Linux release 7.2.1511 (Core)
  mysql:Server version: 5.6.33
  Amoeba:amoeba-mysql-3.0.5-RC-distribution
  JDK:1.7.0_80-b15 (Amoeba的運行需要jdk)
 
  二 安裝Amoeba:
  1 下載好所需軟件:
 
  ls
  amoeba-mysql-3.0.5-RC-distribution.zip    jdk-7u80-linux-x64.rpm
  2 安裝jdk
 
  yum -y install jdk-7u80-linux-x64.rpm
  #  java -version
      java version "1.7.0_80"
  Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
  Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
  3 解壓Amoeba
 
  unzip amoeba-mysql-3.0.5-RC-distribution.zip
   # mv amoeba-mysql-3.0.5-RC /usr/local/amoeba
   # mv amoeba-mysql-3.0.5-RC /usr/local/amoeba
   # cd /usr/local/amoeba/conf/
   # vim amoeba.xml
 
  <property name="port">3306</property>   #設置amoeba監聽的端口,默認是8066
      <property name="ipAddress">10.0.0.159</property>  #設置amoeba監聽的ip地址
  <property name="user">root</property>    #設置連接amoeba的用戶
  <property name="password">123456</property>  #設置連接amoeba的密碼
      #(這里的賬號密碼和amoeba連接后端數據庫服務器的密碼無關)
      <property name="defaultPool">master</property>  #設置amoeba默認的池,這里設置為matster
      #這兩個選項默認是注銷掉的,需要取消注釋,這里用來指定寫庫和讀庫
   <property name="writePool">master</property>   
    <property name="readPool">multiPool</property> #這給的是一個組,如果這個組里有多個dbServers則可以負載均衡,此組在 dbServers.xml中設置
  設置mysql庫的信息,在當前目錄下的dbServers.xml文件里
 
  vim dbServers.xml
              <!-- mysql port --> #設置amoeba連接后端mysql的端口
         <property name="port">3306</property>
 
          <!-- mysql schema --> #設置缺省的數據庫,當連接amoeba時,操作表必須顯式的指定數據庫名,即采用dbname.tablename的方式,不支持 use dbname指定缺省庫,因為操作會調度到各個后端dbserver
           <property name="schema">test</property>
 
             <!-- mysql user --> #設置amoeba連接后端mysql的用戶名和密碼
             <property name="user">amoeba</property>
 
              <property name="password">123456</property>
 
     <dbServer name="master"  parent="abstractServer">#設置一個后端的dbServer,這里設置連接可寫的master庫,此名字可自定義,但要和amoeba.xml中調用的名字一致即可。
              <factoryConfig>
                      <!-- mysql ip -->  #后端mysql的ip地址
                      <property name="ipAddress">10.0.0.176</property>
              </factoryConfig>
      </dbServer>
 
      <dbServer name="slave"  parent="abstractServer"> #設置一個后端的dbServer,這里設置連接可讀的salve,此名字可自定義,但要和amoeba.xml中調用的名字一致即可。
              <factoryConfig>
                      <!-- mysql ip -->  #后端mysql的ip地址
                      <property name="ipAddress">10.0.0.193</property>
              </factoryConfig>
      </dbServer>
 
   <dbServer name="multiPool" virtual="true"> #定義一個dbserver組
              <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
                      <!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
                                              ##選擇調度算法,1表示輪詢負載均衡,2表示權重,3表示HA, 這里選擇1
                      <property name="loadbalance">1</property>
 
                      <!-- Separated by commas,such as: server1,server2,server1 -->
                      <property name="poolNames">slave</property> #組成員,當有多個時用逗號分隔
              </poolConfig>
      </dbServer>
  三 mysql授權amoeba用戶登錄(此處我的兩臺mysql服務器master和slave已經做好了主從同步,并且已經驗證成功,需要做主從同步請看https://blog.51cto.com/zengzeyang/1911173)
  master上授權:
  mysql> grant select,insert,update,delete on . to 'amoeba'@'10.0.0.%' identified by '123456';
  mysql> flush privileges;
  slave上授權:
  mysql> grant select on . to 'amoeba'@'10.0.0.%' identified by '123456';
  mysql> flush privileges;
  注意:此處授權的用戶密碼要和dbServers.xml中配置的一致。如果你的mysql開啟所有庫主從同步則你在主上授權的用戶會同步到從庫,解決方法是:1在從庫上降權;2主從同步時不讓mysql庫同步
 
  四 啟動amoeba:
  #cd /usr/local/amoeba/bin
 
  vim launcher
  添加JAVA_HOME:
  JAVA_HOME=/usr/java/jdk1.7.0_80
 
      # cd /usr/local/amoeba/
   # vim jvm.properties
   修改VM_OPTIONS:
   JVM_OPTIONS="-server -Xms1024m -Xmx1024m -Xss256k -XX:PermSize=16m -XX:MaxPermSize=96m"
 
         #   /usr/local/amoeba/bin/launcher
          2018-01-02 23:34:21 [INFO] Project Name=Amoeba-MySQL, PID=48981 , starting...
   log4j:WARN log4j config load completed from file:/usr/local/amoeba/conf/log4j.xml
   2018-01-02 23:34:22,152 INFO  context.MysqlRuntimeContext - Amoeba for Mysql current versoin=5.1.45-           mysql-amoeba-proxy-3.0.4-BETA
  log4j:WARN ip access config load completed from file:/usr/local/amoeba/conf/access_list.conf
  2018-01-02 23:34:22,520 INFO  net.ServerableConnectionManager - Server listening on /10.0.0.159:3306.
      #啟動成功
 
      # ss -tanlp
      LISTE    128     ::ffff:10.0.0.159:3306     :::*
  五 測試:用另外的mysql客戶端連接amoeba,測試時我暫停了主從同步,以便更直接的看出效果
 
  mysql -uroot -p123456 -h20.0.0.159
 
  主庫上新增一條數據
 
  從庫上加入一條數據
 
  回到mysql連接的客戶端驗證:
 
  只能查看從庫的數據,說明基本成功,進一步驗證,在客戶端插入一條數據
 
  并且客戶端在從庫上沒有查詢到新插入的數據,回到主庫確認下:
 
  到此驗證成功,開啟主從同步即可實現讀寫分離(開始同步前,請自行清理掉有差異的數據,以便主從能正常運行)

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 色污视频 | 色婷婷久久久 | 欧美在线观看禁18 | 国产老师做www爽爽爽视频 | 国产精品手机在线亚洲 | av电影免费观看 | 国产妞干网| 国产午夜精品久久久 | 国产正在播放 | 香蕉久久久 | 黄色av电影在线播放 | 一级做a爱片毛片免费 | 第一区免费在线观看 | 久久新地址 | 亚洲av一级毛片特黄大片 | chinese18 xxxx videos| av不卡免费观看 | 999久久久精品 | 国产精品一区二区三区在线看 | 爱看久久 | 久久国产精品久久精品国产演员表 | 国产国语毛片 | 国产亚洲精彩视频 | 欧美激情精品久久久久久黑人 | 精品一区二区电影 | 亚洲精品午夜国产va久久成人 | 亚洲精久 | 国产免费观看视频 | sese综合| 国产91对白叫床清晰播放 | 毛片大全在线观看 | 国产精品成人亚洲一区二区 | 久久精品a一级国产免视看成人 | 欧美成人精品一区 | 久久福利剧场 | 欧美中文字幕一区二区三区亚洲 | 一级毛片播放 | 日本成人午夜视频 | asiass极品裸体女pics | 免费观看黄色一级视频 | 久久免费视频精品 |