您的位置:首页 > 数据库 > SQL

amoeba实现mysql读写分离+主从复制架构

2017-06-13 16:15 826 查看
一、环境
系统:centos6.5
mysql版本:mysql5.6
master服务器:192.168.1.21
slave服务器: 192.168.1.100
master写 slave读
二、实现mysql主从复制
在master的/etc/my.cnf中[mysqld]字段下加入如下内容:
server_id=1
log_bin=mysql-bin
binlog_format=mixed
relay-log=relay-bin
relay-log-index=slave-relay-bin.index
auto-increment-incremen=2
auto-increment-offset=1




然后重启mysql服务:service mysqld restart
2. 在slave的/etc/my.cnf中[mysqld]字段下加入如下内容:
server_id=2 log_bin=mysql-bin binlog_format=mixed relay-log=relay-bin relay-log-index=slave-relay-bin.index auto-increment-incremen=2 auto-increment-offset=2

然后重启mysql服务:service mysqld restart3. 然后在master中授权用户并查看二进制日志状态信息

4.在slave端建立同步连接,并执行start slave; 再查看状态:

change master to master_host='192.168.1.21',master_user='zhangfei',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=1489;

当看到上图两个yes时为主从复制成功。
三、实现读写分离先安装Java



2.安装amoeba
下载地址:wget https://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/3.x/amoeba-mysql-3.0.5-RC-distribution.zip
1) 在master中给amoeba授权一个mysql远程账户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'amoeba'@'192.168.1.%' IDENTIFIED BY 'amoeba' WITH GRANT OPTION;
2)解压amoeba包:

3) 配置Amoeba下的dbServers.xml: vi /usr/local/amoeba/conf/dbServers.xml

4) 图中192.168.5.10换成192.168.1.21 192.168.5.20换成192.168.1.100 5)编辑amoeba.xml; vi /usr/local/amoeba/conf/amoeba.xml



6)编辑jvm.properties: vim /usr/local/amoeba/jvm.properties

7) 启动amoeba: /usr/local/amoeba/bin/launcher > /var/log/amoeba.log 2>&1 &此时amoeba已启动成功。

四、测试读写分离 1.测试时先关闭主从复制:在slave端执行 stop slave 2.使用mysql -uroot -p123456 -h192.168.1.21 -P8806 登陆并在表中插入一条数据 3.分别登陆master和slave 发现只有master有新插入的数据而slave没有 此时写分离测试成功。 4.登陆salve的mysql在表中插入一条新数据 5.使用mysql -uroot -p123456 -h192.168.1.21 -P8806 登陆 6.经查询表中查到slave端新添加的数据 此时读分离测试成功。
至此实现mysql主从复制+读写分离。本文本着简单直接配置成功为目的,如有疑问可以留言。

2 我是33 2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 读写分离 amoeba