准备三台虚拟机: mysql主:10.0.0.43
mysql从:10.0.0.44
Ameoba: 10.0.0.45
一.主从搭建:
1.在两台服务器上安装mysql
|
1
2
3
4
|
yum -y install mysql mariadb-server
(centos 6)
yum -y install mysql mysql-server
|
2.主机master的操作
|
1
2
3
4
5
6
7
8
9
|
vim /etc/my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
systemctl start mariadb
systemctl stop firewalld
setenfore 0
|
3. 登录mysql
|
1
2
3
4
5
6
7
8
9
10
11
|
mysql
mysql> grant replication slave on *.* to 'tom'@'%' identified by '123';
mysql> flush privileges;
mysql> master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 106 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
|
4.从机slave的操作
|
1
2
3
4
5
6
7
8
9
10
11
12
|
vim /etc/my.cnf
[mysqld]
server-id=2
relay-log=mysql-relay
重启mysql
systemctl start mariadb
关闭防火墙
systemctl stop firewalld
setenforce 0
|
5.登录mysql
|
1
2
3
4
5
6
7
8
|
进入mysql
mysql
mysql> stop slave;
mysql> change master to
> master_host='10.0.0.43', 主机的ip
> master_user='tom',
> master_password='123',
> master_log-file='mysql-bin.000001',<br> > master_log-pos=106;
|
|
1
2
|
mysql> start slave;
mysql> show slave status \G;
|
查看两个进程状态是否为YES,都是YES说明配置成功
6.在两个mysql服务器中分别给amoeba服务器授权一个可以操作读写的用户
|
1
2
|
mysql> grant all on *.* to 'amoeba'@'%' identified by '123';
mysql> flush privileges;
|
二.在第三台服务器上安装amoeba
1.安装jdk环境
|
1
2
3
4
5
6
7
8
|
cd /usr/local
把jdk包上传
chmod +x jdk-6u14-linux-x64.bin
./chmod +x jdk-6u14-linux-x64.bin
执行过程,需要一直按回车直到输入yes即可
目录下回出现一个jdk1.6.0_14的目录
更改jdk安装目录的名字
mv jdk1.6.0_14 jdk1.6
|
2.修改环境变量
|
1
2
3
4
5
6
7
|
vim /etc/profile
在文件末尾添加以下内容
export AMOEBA=/usr/local/amoeba
export JAVA_HOME=/usr/local/jdk1.6
export PATH=$PATH:$JAVA_HOME/bin:$AMOEBA/bin
使新加的变量生效
source /etc/profile
|
3.上传amoeba安装包到服务器
4.为amoeba创建安装目录
|
1
2
|
mkdir /usr/local/amoeba
tar zxf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
|
5.配置文件dbServers.xml
|
1
|
vim /usr/local/amoeba/conf/dbServer.xml
|


6.编辑amoeba.xml
|
1
|
vim /usr/local/amoeba/amoeba.xml
|


7.启动amoeba
|
1
|
/usr/local/amoeba/bin/amoeba start
|

查看端口 出现8066即可
8.测试 在开启一个窗口登录amoeba 测试读写分离效果
|
1
2
|
yum -y install mysql
mysql -ujack -p123 -h10.0.0.45 -P8066
|
创建数据库 wg
create database wg


3.插入两条测试数据

4.然后停止mysql从的同步

5.然后在amoeba上插入两条数据

6.然后在amoeba上查看数据,发现只有1 2没有新数据

7.然后再切到mysql从上查看数据,这里只有1 2

至此验证完毕,MySQL主有新的数据,说明现在数据是往MySQL主上写数据,
然后amoeba查看的数据内容和mysql从一致,说明数据是往从上读取数据
读写分离配置完毕