准备三台虚拟机: 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从一致,说明数据是往从上读取数据
读写分离配置完毕