Mysql——读写分离

  

文章目录

  

一、Mysql读写分离原理

  

二、关于变形虫

  

三,配置实例

  

第一步:配置变形虫服务器

  

第二步:在三台mysql服务器上添加权限,开放给变形虫访问(即三台mysql允许变形虫对它们进行访问)

  

第三步:在变形虫服务器上配置读写分离功能

  

第四步:客户端测试

  

四,总结

  

一、Mysql读写分离原理

  
读写分离就是只在主服务器上写,只在从服务上读;
  
主数据库处理事务性查询,从数据库处理选择查询;
  
数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库h5> 二、关于变形虫
  
(1)变形虫是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的代理。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡,读写分离,高可用性等需求。
  
(2)变形虫相当于一个SQL请求的路由器,目的是为负载均衡,读写分离,高可用性提供机制,而不是完全实现它们。需要结合使用MySQL的复制等机制来实现副本同步等功能。
  

三,配置实例

  
环境说明:
  
准备三台Mysql服务器(一台为主服务器,其余两台为从服务器),
  
一台变形虫,用来实现读写分离,写的操作交给主服务器,读的操作发给两台从服务器;
  
实验验证:在客户机上执行写的操作,在主、从服务器上验证。
  

 Mysql——读写分离

  
说明:Mysql主从复制与读写功能是密切相关的,通过主从复制来实现数据同步,再通过读写分离来提升数据库的并发负载能力。
  
应用客户端192.168.220.131 h5> 变形虫192.168.220.129 h5> 主服务器192.168.220.141 h5> 从服务器1 192.168.220.140 h5> 从服务器2 192.168.220.136 h5> 第一步:配置变形虫服务器
  
(1)关闭防火墙:
  
 <代码> systemctl firewalld.service停止
  setenforce 0  
  
(2)安装管理jdk:
  
1,安装jdk h5> <代码> cp jdk-6u14-linux-x64。本/usr/local///复制      。/jdk-6u14-linux-x64.bin//安装jdk,注意这一步,一路按回车到最后,提示输入是的,等待安装   

 Mysql——读写分离

  
2,方便管理,将jdk包重新命名:
  
 <代码> mv jdk1.6.0_14//usr/local/jdk1.6  
  
3,修改配置文件文件
  
 <代码> export JAVA_HOME=/usr/地方/jdk1.6
  出口CLASSPATH=$类路径:$ JAVA_HOME/lib: $ JAVA_HOME/jre/lib
  导出路径=$ JAVA_HOME/lib: $ JAVA_HOME/jre/bin/: $路径:$ HOME/bin
  出口AMOEBA_HOME=/usr/地方/变形虫
  出口路径=$路径:$ AMOEBA_HOME/bin/<代码> 
  
使环境变量生效:
  
 <代码>源/etc/profile  
  
(3)解压变形虫包:
  
1,先创建一个文件
  
 <代码> mkdir/usr/local/amoeba  
  
2,解压h5> <代码>焦油zxvf amoeba-mysql-binary-2.2.0.tar。广州- c/usr/local/amoeba/   
3,赋权,并验证是否安装成功h5> <代码> chmod - r 755/usr/local/amoeba/   
输入:/usr/地方/变形虫/bin/变形虫,按回车检查是否成功h5>  Mysql——读写分离

  
第二步:在三台mysql服务器上添加权限,开放给变形虫访问(即三台mysql允许变形虫对它们进行访问)
  
进入数据库,输入以下命令:
  
 <代码>格兰特all> amoeba
  第32行:& lt;属性名=懊苈搿痹?23456 & lt;/property>
  
  117行去掉注释:
  & lt;属性名=" writePool "祝辞master
  & lt;属性名=" readPool "祝辞slaves  
  

 Mysql——读写分离

  

 Mysql——读写分离

  
2, vim conf/dbServers.xml h5> <代码>每股26到29行:去掉注释,设置登录用户名和密码   & lt;属性名="用户"祝辞test   & lt;属性名="密码"祝辞123. com      找到主服务器和从服务器模块,修改好名称和对应的IP地址:   主服务器:   & lt; dbServer name="主人"父=癮bstractServer”比;   & lt;属性名=" ipAddress "祝辞192.168.220.141

Mysql——读写分离