字符集读写分离配置实践

  

  ,,   工作这些年来,也去了一些地方,有了一些见闻,隐隐感觉很多文化和猫有着千丝万缕的联系。就拿它行业来说吧,猫有着很高的曝光率,比如大名鼎鼎的   tomcat,是由太阳的软件构架师詹姆斯·邓肯·戴维森开发,并由太阳贡献给Apache软件基金会,他希望这种动物能够自己照顾自己,将其命名为   Tomcat,于是乎这个名字就留下来了。   

  

  ,在Oracle中我最喜欢查看的一个数据字典试图就是猫,这是典型的猫文化,没有其他的技术意味。   

  

  ,最早听到字符集的时候,我意味是一个国外的开源项目,但是紧接着发现这竟然是一个国产项目,让我有些激动,而且源代码是基于Java的,我觉得太对我的胃口了。   

  

  ,下面的猫儿是在泰国皮皮岛的一个早晨碰见的,它睡在门口、眼皮都懒得抬一下。   

  

  字符集读写分离配置实践”>
  </p>
  <p>
  ,字符集这么一个项目,在国内确实很火,在github上也有链接,星标有2000多个。是基于阿里开源的<em> Cobar </em>产品而研发。
  </p>
  <p>
  ,github链接如下:
  </p>
  <p>
  https://github.com/MyCATApache/Mycat-Server/wiki
  </p>
  <p>
  ,官方的链接如下:
  </p>
  <p>
  http://dl.mycat.io/目前的版本比较新的是1.6,摸爬滚打这么多年,也算是见证了国内数据库的一个发展,它本身不仅仅支持MySQL,还支持甲骨文,PG等,目前MySQL方向用的最为流行。
  </p>
  
  <p>
  安装部署
  </p>
  
  <p>
  字符集的安装部署其实很简单,从官方下载对应的安装包即可,大概是15米左右。
  </p>
  <p>
  下载最新的安装包:
  </p>
  <p>
  wget http://dl.mycat.io/1.6 release/mycat -服务器- 1.6 -释放- 20161028204710 - linux.tar.gz
  </p>
  <p>
  ,解压后的安装包内容有60米左右。
  </p>
  <p>
  安装字符集很简单,只需要保证Java已经正确安装,如果系统自带,版本不低也可以。
  </p>
  <p>
  # java - version <br/>
  java版本“1.7.0_45”<br/>
  OpenJDK (rhel-2.4.3.3.0.1运行时环境。el6-x86_64 u45-b15) <br/>
  OpenJDK 64位服务器虚拟机(构建24.45 -b08,混合模式)相应的Java的基础配置也需要在概要文件里对应调整一下。
  </p>
  <p>
  比如修改. bash_profile文件。
  </p>
  <p>
  出口JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk。x86_64 <br/>
  导出路径=$路径:$ JAVA_HOME/bin <br/>
  出口CLASSPATH=: $ JAVA_HOME/lib/dt.jar: $ JAVA_HOME/lib/tools.jar
  </p>
  <p>
  创建系统级的组和用户
  </p>
  <p>
  useradd字符集对于安装来说,几乎不需要可以调整,直接把解压后的字符集目录拷贝到/usr/当地下即可,然后修改权限。
  </p>
  <p>
  mv字符集//usr/local/<br/>
  乔恩字符集:字符集/usr/local/mycat
  </p>
  <p>
  <br/>
  </p>
  
  <p>
  配置数据库环境
  </p>
  
  <p>
  我们需要配置的数据库环境假设是一主三从,可以在一台服务器上搭建模拟,一主三从如果快速搭建部署,可以参考github上我写的一个小脚本,https://github.com/jeanron100/mysql_slaves,分分钟搞的定。
  </p>
  <p>
  假设环境的情况如下:
  </p>
  <p>
  主:33091年,端口<br/>
  slave1:,33092年,端口<br/>
  slave2:,,端口33093 <br/>
  slave3:,,端口33093
  </p>
  <p>
  字符集可以实现很多功能,在此先实现一个需求,比如现在有一套环境读多写少,需要提供大量的数据量连接访问。我们就可以创建两个用户mycat_user,负责DML, mycat_read负责查询共创用户mycat_user被“字符集”;<br/>
  创建用户mycat_read被“字符集”;
  </p>
  <p>
  比如有多个数据库,我们就模拟创建三个数据库来。
  </p>
  <p>
  创建数据库db1; <br/>
  创建db2数据库;<br/>
  创建数据库db4;
  </p>
  <p>
  分配权限的部分如下:
  </p>
  <p>
  格兰特select> <br/>
  ,,,,,,,,,,,,,,& lt;属性名=
  ,,,,,,,,,,,,,,& lt;属性名="模式"祝辞pxc_schema
  ,,,,,,& lt;/user>
  ,,,,,,& lt;用户名=" mycat_read "在
  ,,,,,,,,,,,,,,& lt;属性名="密码"祝辞mycat
  ,,,,,,,,,,,,,,& lt;属性名="模式"祝辞pxc_schema
  ,,,,,,,,,,,,,,祝辞& lt;属性名=皉eadOnly”true

字符集读写分离配置实践