OWN_BIN=/usr/local/amoeba/bin/shutdown
PIDFILE=/usr/local/amoeba/Amoeba-MySQL.pid
SCRIPTNAME=/etc/init.d/amoeba
case "$1" in
start)
echo -n "Starting $NAME... "
$AMOEBA_BIN
echo " done"
;;
stop)
echo -n "Stoping $NAME... "
$SHUTDOWN_BIN
echo " done"
;;
restart)
$SHUTDOWN_BIN
sleep 1
$AMOEBA_BIN
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart}"
exit 1
;;
Esac
[root@amoeba opt]# chmod +x /etc/init.d/amoeba //给予执行权限
[root@amoeba opt]# chkconfig --add amoeba //添加到系统管理中
[root@amoeba opt]# service amoeba start //开启amoeba服务
4、配置读写分离
----在三台mysql数据库中为amoeba授权-------
mysql> GRANT ALL ON . TO test@'192.168.80.%' IDENTIFIED BY '123123';
mysql> FLUSH PRIVILEGES;
--------在amoeba前端服务器上----
[root@amoeba amoeba]# cd /usr/local/amoeba
[root@amoeba amoeba]# vi conf/amoeba.xml
-----设置客户端连接amoeba前端服务器时使用的用户名和密码----28行
<property name="user">amoeba</property>
<property name="password">123456</property>
----同时把默认的server1改成master,把默认的servers改成 slaves-----83行
<property name="defaultPool">master</property>
<property name="writePool">master</property>
<property name="readPool">slaves</property>
[root@amoeba conf]# vi dbServers.xml
<property name="user">test</property>
<property name="password">123123</property> //指定数据库的登录用户名和密码
修改以下内容
<dbServer name="master" parent="abstractServer">
<property name="ipAddress">192.168.80.100</property>
<dbServer name="slave1" parent="abstractServer">
<property name="ipAddress">192.168.80.120</property>
<dbServer name="slave2" parent="abstractServer">
<property name="ipAddress">192.168.80.180/property>
<dbServer name="slaves" virtual="true">
<poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
<property name="poolNames">slave1,slave2</property>
</poolConfig>
[root@amoeba amoeba]# service amoeba restart
[root@amoeba amoeba]# netstat -anpt | grep java
5、搭建mariadb客户端:192.168.80.170
[root@MYSQL ~]# yum install -y mysql
[root@MYSQL ~]# mysql -u amoeba -p123456 -h 192.168.80.190 -P8066
如上图,已经成功连接到数据库了
在客户端上使用命令在test创建一个表:
MySQL [(none)]> use test;
MySQL [test]> create table zhang (id int(10),name varchar(10),address varchar(20));
MySQL [test]> show tables;
在从服务器上
在其中一台从服务器上创建一个空库
在主服务器上查看所有库
没有新建的那个库
在客户端上查看:
由此所见,从服务器上建库,客户端可以读取,说明读写分离成功