Amoeba-mysql读写分离实战
Amoeba用途有很多,这里看标题我们就先说读写分离,因为我也只会这个。Amoeba定义为国内的,开源的。目前(2015年10月20日)我们用amoeba2.2版本来做。
先说一下本人环境:
Mysql 5.6
Centos 6.4
Mysql一主两从已OK。
Amoeba 2.2.x
Amoeba下载地址:http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/
由于Amoeba需要用到jave se 所以我们需要安装jdk环境。
最新的1.8 可用。
安装jdk:
rpm -ivh jdk-8u60-linux-x64.rpm
source /etc/profile
验证jdk:
Jdk就完事了,现在开始amoeba的安装。
先创建目录文件
mkdir /usr/local/amoeba
tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba
解压指定目录
然后我们进入conf文件,这里的xml为储存amoeba设置连接mysql的数据
在amoeba目录下,输入
./bin/amoeba
如果出现说明amoeba安装OK,
接下来设置amoeba的参数,设置参数的文件在conf目录下的amoeba.xml和dbServers.xml两个文件。
先看 dbServiers.xml
grant all on *.* to [email protected]‘192.168.0.191‘ identified by "123456";这条命令是需要在客户端运行的,让amoeba调度器能够连接我们的数据库并做操作
这个dbServers.xml就设置到这里
接下来看amoeba.xml
配置完成后保存。
然后启用amoeba
/usr/local/amoeba/bin/amoeba & &表示在后台运行
如果出现
打开bin/amoeba
DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"
改成
DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss256k"
用ps –ef |grep amoeba 看一下是否启动
查看netstat -tunlp | grep 8066 看一下端口是否开启
##amoeba这台机器是不用开启mysql服务
在其他客户端上验证是否可以登录amoeba上;
这样就表示登录成功。
到此读写分离就已经搭建完成了,如果要结合到前段web的应用上就把web端的数据库连接改到amoeba这台服务器的8066端口上,用户名密码就是amoeba.xml里配置的用户名和密(并非real-mysql-server)的用户。
此处我前端web是discuz论坛,就要修改/usr/local/nginx/html/config/config_global.php