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

一、环境

系统:centos6.5

mysql版本:mysql5.6

master服务器:192.168.1.21

slave服务器: 192.168.1.100

master写 slave读

二、实现mysql主从复制

  1. 在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

wKioL1k_g2HBDs4vAACtLmu3XO0077.jpg-wh_50

然后重启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

wKiom1k_hN2jtbXBAADdfkB5Me0651.jpg-wh_50

然后重启mysql服务:service mysqld restart

3. 然后在master中授权用户并查看二进制日志状态信息

wKioL1k_h0SyFTgTAADracsxIqI766.jpg-wh_50

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

wKioL1k_jWjw3HRgAAC2sOR6PiQ410.jpg-wh_50

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;

wKioL1k_jgSB6qAEAADky6fIpyE047.jpg-wh_50

当看到上图两个yes时为主从复制成功。

三、实现读写分离

  1. 先安装Java

wKioL1k_l0CRyIWCAACqufq0Z_M316.jpg-wh_50

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包:

wKioL1k_l92DAd2sAAAdQyraM_s510.png-wh_50

     3) 配置Amoeba下的dbServers.xml:

         vi  /usr/local/amoeba/conf/dbServers.xml

wKiom1k_mJvhbX_OAAG77bkCBW8467.png-wh_50

       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

 wKiom1k_mtPwXX1-AAD1Dp-iWfo853.jpg-wh_50

  wKioL1k_mkvSZUbOAAEnf4hjKNw121.png-wh_50

     6)编辑jvm.properties:

           vim /usr/local/amoeba/jvm.properties

wKioL1k_m1DTvrWiAAA-7K-VRtg095.png-wh_50

      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

相关文章
相关标签/搜索