前言
本软件在安装时Linux机器已有Java1.8和mysql5.6,如没有自行下载安装。在已经搭建好主从复制的基础上,才可以搭建读写分离。主从复制请参考mysql主从复制。
准备
系统:centos7
jdk:版本1.5以上,测试用的是jdk1.8
mysql:版本5.6.35(测试用)
amoeba版本:amoeba-mysql-3.0.5-RC
amoeba安装地址:服务器207
主库地址:服务器207
从库地址:服务器218
Linux下载amoeba
wget /projects/amoeba/files/Amoeba%20for%20mysql/3.x/amoeba-mysql-3.0.5-RC-distribution.zip
安装
将压缩包解压到/usr/local/amoeba文件夹中:
#unzip amoeba-mysql-3.0.5-RC-distribution.zip -d /usr/local/amoeba(如没有unzip命令请自行安装:yum install -y unzip zip)
配置环境变量
#vi /etc/profile
在最下面加入两行
export AMOEBA_HOME=/usr/local/amoeba/amoeba-mysql-3.0.5-RC
export PATH=$PATH:$AMOEBA_HOME/bin
#source /etc/profile(使环境变量及时生效)
给amoeba授权mysql远程账户(不推荐使用root)
mysql>GRANT ALL PRIVILEGES ON *.* TO 'amoeba'@'192.168.22.207' IDENTIFIED 'amoeba' WITH GRANT OPTION;(创建一个用户名为amoeba,密码为amoeba,ip为192.168.22.207可登录该账户)。
配置文件
dbServers.xml(/usr/local/amoeba/amoeba-mysql-3.0.5-RC/conf)
amoeba.xml(/usr/local/amoeba/amoeba-mysql-3.0.5-RC/conf)
jvm.properties(/usr/local/amoeba/amoeba-mysql-3.0.5-RC)
将
JVM_OPTIONS="-server -Xms256m -Xmx1024m -Xss196k -XX:PermSize=16m -XX:MaxPermSize=96m"
改为
JVM_OPTIONS="-server -Xms1024m -Xmx1024m -Xss256k"
解决jdk7以上要求的启动xss参数。
启动/关闭amoeba
最好先前台启动,检查没有错误之后再后台启动。
关闭
# /usr/local/amoeba/amoeba-mysql-3.0.5-RC/bin/shutdown
启动
# /usr/local/amoeba/amoeba-mysql-3.0.5-RC/bin/launcher
后台启动并把日志保存到/var/log/amoeba.log
# /usr/local/amoeba/amoeba-mysql-3.0.5-RC/bin/launcher > /var/log/amoeba.log 2>&1 &
登录测试
测试在218服务器测试(只要安装有mysql均可)
# mysql -uroot -p123456 -h192.168.22.207 -P8066(用户名root,密码123456,地址207,端口号8066<代表端口号的P大写>)
mysql>登录成功。
总结
amoeba是盛大架构师陈思儒独立完成,除此之外,还有很多中间件可以实现mysql的读写分离,如mycat是阿里的一款支持读写分离的中间件等等,类似的还有很多,但是原理大致都相同。