变形虫实现数据库读写分离

  

一环境以及软件版本:
系统:Linux CentOS释放7.2.1511(核心)
mysql:服务器版本:5.6.33
变形虫:amoeba-mysql-3.0.5-RC-distribution
JDK: 1.7.0_80-b15(变形虫的运行需要JDK)

  <人力资源/>   

二安装变形虫:
1下载好所需软件:

  

ls

  
 <代码> amoeba-mysql-3.0.5-RC-distribution。zip jdk-7u80-linux-x64.rpm  
  

2安装jdk

  

yum - y安装jdk-7u80-linux-x64.rpm

  java - version
 <代码> #
  java版本“1.7.0_80”
  Java (TM) SE运行时环境(构建1.7.0_80-b15)
  Java HotSpot (TM) 64位服务器虚拟机(24.80构建b11、混合模式) 
  

3解压变形虫

  

解压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
  
  & lt;属性名="端口"在3306 & lt;/property>#设置变形虫监听的端口,默认是8066
  & lt;属性名=" ipAddress "祝辞10.0.0.159#设置变形虫监听的ip地址
  & lt;属性名="用户"祝辞root#设置连接变形虫的用户
  & lt;属性名="密码"在123456 & lt;/property>#设置连接变形虫的密码
  #(这里的账号密码和变形虫连接后端数据库服务器的密码无关)
  & lt;属性名=" defaultPool "祝辞master#设置变形虫默认的池,这里设置为matster
  #这两个选项默认是注销掉的,需要取消注释,这里用来指定写库和读库
  & lt;属性名=" writePool "祝辞master
  & lt;属性名=" readPool "祝辞multiPool#这给的是一个组,如果这个组里有多个dbServers则可以负载均衡,此组在dbServers.xml中设置 
  

设置mysql库的信息,在当前目录下的dbServers.xml文件里

  

vim dbServers.xml

  
 <代码> & lt; !——mysql港口——比;#设置变形虫连接后端mysql的端口
  & lt;属性名="端口"在3306 & lt;/property>
  
  & lt; !——mysql模式比;#设置缺省的数据库,当连接变形虫时,操作表必须显式的指定数据库名,即采用dbname。表名的方式,不支持使用dbname指定缺省库,因为操作会调度到各个后端dbserver
  & lt;属性名="模式"祝辞test
  
  & lt; !——mysql用户比;#设置变形虫连接后端mysql的用户名和密码
  & lt;属性名="用户"祝辞amoeba
  
  & lt;属性名="密码"在123456 & lt;/property>
  
  & lt; dbServer name="主人"父=癮bstractServer祝辞#设置一个后端的dbServer,这里设置连接可写的主库,此名字可自定义,但要和amoeba.xml中调用的名字一致即可。
  & lt; factoryConfig>
  & lt; !——mysql ip祝辞#后端mysql的ip地址
  & lt;属性名=" ipAddress "祝辞10.0.0.176
  & lt;/factoryConfig>
  & lt;/dbServer>
  
  & lt; dbServer name="奴隶"父=癮bstractServer”比;#设置一个后端的dbServer,这里设置连接可读的药膏,此名字可自定义,但要和amoeba.xml中调用的名字一致即可。
  & lt; factoryConfig>
  & lt; !——mysql ip祝辞#后端mysql的ip地址
  & lt;属性名=" ipAddress "祝辞10.0.0.193
  & lt;/factoryConfig>
  & lt;/dbServer>
  
  & lt; dbServer name=" multiPool“虚拟=" true "比;#定义一个dbserver组
  & lt; poolConfig类=癱om.meidusa.amoeba.server.MultipleServerPool”比;
  & lt; !此——负载平衡策略:1=循环,2=WEIGHTBASED, 3=哈——比;
  # #选择调度算法,1表示轮询负载均衡,2表示权重,3表示哈,这里选择1
  & lt;属性名=" loadbalance "祝辞1 & lt;/property>
  
  & lt; !——由逗号分隔,例如:server1, server2、server1——比;
  & lt;属性名=" poolNames "祝辞slave#组成员,当有多个时用逗号分隔
  & lt;/poolConfig>
  & lt;/dbServer>  
  

三mysql授权变形虫用户登录(此处我的两台mysql服务器主和从已经做好了主从同步,并且已经验证成功,需要做主从同步请看https://blog.51cto.com/zengzeyang/1911173)
主上授权:
mysql>格兰特选择、插入、更新、删除      #/usr/local/amoeba/bin/launcher   2018-01-02 23:34:21[信息]项目名称=Amoeba-MySQL PID=48981,开始……   log4j:警告log4j配置从文件加载完成:/usr/地方/变形虫/conf/log4j.xml   2018-01-02 23:34:22,152信息上下文。MysqlRuntimeContext——变形虫Mysql当前versoin=5.1.45 - mysql-amoeba-proxy-3.0.4-BETA   log4j:警告ip访问配置从文件加载完成:/usr/地方/变形虫/conf/access_list.conf   2018-01-02 23:34:22,520信息网。ServerableConnectionManager——服务器监听alt="变形虫实现数据库读写分离“>

变形虫实现数据库读写分离