MySQL读写分离(基于变形虫)

  

<强>

,,主数据库处理事务性查询,从数据库处理选择查询。数据库复制用来把事务性查询导致的变更同步到从数据库中。

 MySQL读写分离(基于变形虫)

<强>

1。基于程序代码实现

,,在代码中根据选择、插入进程路由分类;

,,优点:性能好,因为在代码中实现,不需要额外的硬件设备,

,,缺点:需要开发人员来实现,对代码改动比较大,不适合大型复杂应用;

2。基于代理层实现

,MySQL-Proxy:隶属于MySQL开源项目;

,变形虫:变形虫是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的代理。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡,读写分离,高可用性等需求,

操作系统:CentOS 6.5 x64

变形虫:192.168.0.128

主:192.168.0.134

奴隶:192.168.0.135

客户:192.168.0.137

<强>

1. MySQL读写分离是基于主从复制配置的,先配置好主从复制,再配置读写分离。

,主从复制博文连接:http://guoxh.blog.51cto.com/10976315/1922643

2。添加授权账号供变形虫访问

,主人和奴隶:

mysql>, grant  all 提醒*。*,用,“代理”@“192.168.0.128”,identified  by “123456”;   Query 好吧,,0,rows  affected (0.00,秒)      mysql>, flush 特权;   Query 好吧,,0,rows  affected  (0.00, sec)

<强>

1。变形虫是基于JDK开发的,所有先安装JAVA环境

[root@amoeba  ~] #, chmod  + x  jdk-6u14-linux-x64.bin    root@amoeba  ~ #,。/jdk-6u14-linux-x64.bin    (root@amoeba  ~) #, cat /etc/profile.d/java.sh    export  JAVA_HOME=/usr/地方/jdk1.6   export  CLASSPATH=$类路径:$ JAVA_HOME/lib: $ JAVA_HOME/jre/lib   export 路径=$ JAVA_HOME/bin: $ JAVA_HOME/jre/lib:路径:美元$ HOME/bin   (root@amoeba  ~) #, source ,/etc/profile.d/java.sh    (root@amoeba  ~) #, java  - version   java  version “1.6.0_14”   Java (TM), SE  Runtime  Environment  (build  1.6.0_14-b08)   Java 热点(TM), 64 - bit  Server  VM  (build  14.0 b16转椅,mixed 模式)   # JAVA环境配置完成

2。安装变形虫

[root@amoeba  ~] #, mkdir /usr/地方/变形虫   (root@amoeba  ~) #, tar  xf , amoeba-mysql-binary-2.2.0.tar.gz , -C /usr/地方/变形虫   (root@amoeba  ~) #, ls /usr/地方/变形虫   benchmark , bin , changelogs.txt , conf , lib , LICENSE.txt  README.html   (root@amoeba  ~) #, cat /etc/profile.d/amoeba.sh    export  AMOEBA_HOME=/usr/地方/变形虫   export 路径=$路径:$ AMOEBA_HOME/bin   (root@amoeba  ~) #, source ,/etc/profile.d/amoeba.sh    (root@amoeba  ~) #,/usr/地方/变形虫/bin/变形虫   amoeba 开始| stop , #,变形虫安装成功

3。编辑变形虫。xml配置文件

[root@amoeba 相依]#,cd /usr/地方/变形虫/conf/緍oot@amoeba 相依】#,cp  amoeba.xml ,变形虫美元(date  + % Y_ % m_ % d) .xml  #修改前备份一份   【root@amoeba 相依】#,vim  amoeba.xml   27,,& lt; property  name=吧矸荨北?   28日,,,,,,,& lt; bean 类=癱om.meidusa.amoeba.mysql.server.MysqlClientAuthenticator”比;   29日,   30,,,,,,,,,,,& lt; property  name=坝没А弊4莂moeba,,, #设置端连接的用户   31日,   32岁,,,,,,,,,,,& lt; property  name="密码"祝辞amoeba, #设置端连接的密码   33,   34岁,,,,,,,,,,,,,,& lt; property  name=肮似鳌北?   35岁,,,,,,,,,,,,,,& lt; bean 类=癱om.meidusa.amoeba.server.IPAccessController”比;   36,,,,,,,,,,,,,,,,& lt; property  name=" ipFile祝辞$ {amoeba.home}/conf/access_list.conf   37岁,,,,,,,,,,,,,,& lt;/bean>   38岁,,,,,,,,,,,,& lt;/property>   39岁,,,,,,,& lt;/bean>   40,,& lt;/property>      112,,,,,,,,,,,,,,,,,& lt;/property>   113,,,,,,,,,,,,,,,,,& lt; property  name=" sqlFunctionFile祝辞$ {amoeba.home}/conf/functionMap.xml   114,,,,,,,,,,,,,,,,,& lt; property  name=" LRUMapSize祝辞1500 & lt;/property>   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

MySQL读写分离(基于变形虫)