chinaab 发表于 2018-10-3 08:33:08

采用amoeba实现MySQL读写分离

  一、角色划分
  测试机:
  192.168.1.233 //用于写
  192.168.1.234 //用于读
  192.168.1.237 //数据库代理
  192.168.1.238 //openfire服务器
  添加真实数据库帐号 (192.168.1.233、192.168.1.234):

  mysql> GRANT ALL PRIVILEGES ON openfire.* TO 'amoeba'@'192.168.1.237'>  二、安装 JAVA 运行环境 (192.168.1.237)
  # cd /usr/local
  # wget -c http://download.oracle.com/otn-pub/java/jdk/6u25-b06/jdk-6u25-linux-i586.bin
  # chmod 755 jdk-6u25-linux-i586.bin
  # ./jdk-6u25-linux-i586.bin
  # mv jdk1.6.0_25 jdk
  # vi /etc/profile
  export JAVA_HOME=/usr/local/jdk

  export>  export PATH=$PATH:$JAVA_HOME/bin
  # source /etc/profile
  三、安装 amoeba (192.168.1.237)
  # mkdir /usr/local/amoeba
  # cd /usr/local/amoeba
  # wget -c http://nchc.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.1.0-RC5.tar.gz
  # tar -xvzf amoeba-mysql-binary-2.1.0-RC5.tar.gz
  # chmod 755 bin/*
  # bin/amoeba
  # groupadd amoeba
  # useradd amoeba -g amoeba -s /sbin/nologin
  # chown -R amoeba:amoeba /usr/local/amoeba
  # mkdir -p /data/amoeba/logs
  # chown -R amoeba:amoeba /data/amoeba
  四、配置 amoeba
  Amoeba 的配置分成几个文件:
  amoeba.xml             //需要修改 主配置文件,配置所有数据源及 Amoeba 自身的参数
  dbServer.xml             //需要修改
  access_list.conf          //需要修改
  rule.xml                //数据切分时使用
  log4j.xml            //需要修改 [修改日志存放路径]
  functionMap.xml      //无需修改,配置用于解析Query中的函数所对应的Java实现类
  ruleFunctionMap.xml   //无需修改,配置路由规则中需要使用到的特定函数的实现类
  # vi conf/dbServers.xml   //参考样例配置文件
  # vi conf/amoeba.xml   //参考样例配置文件
  # mkdir -p /data/amoeba/logs
  # vi conf/log4j.xml   //修改日志的存放路径
  # vi /usr/local/amoeba/bin/amoeba
  DEFAULT_OPTS="-server -Xms1024m -Xmx2048m -Xss512k"
  # vi /etc/init.d/amoeba//参考样例启动脚本
  # chmod +x /etc/init.d/amoeba
  # chkconfig --add amoeba
  # chkconfig --level 234 amoeba on
  五、测试
  # mysql -h192.168.1.237 -P8066 -uamoeba -p
  修改 openfire 服务器 (192.168.1.238) 配置文件:
  jdbc:mysql://192.168.1.237:8066/openfire?useUnicode=true&characterEncoding=utf8
  amoeba
  123456

页: [1]
查看完整版本: 采用amoeba实现MySQL读写分离