zoukankan      html  css  js  c++  java
  • mysql读写分离

    搭建一个主从复制服务器:192.168.200.111(master) 192.168.200.112 (slave1)192.168.200.113(slave2)

    AMOEBA服务器:192.168.200.114

    关闭防火墙

    [root@localhost ~]# systemctl stop firewalld

    [root@localhost ~]# setenforce 0

    [root@localhost ~]# iptables -F
    上传jdk-6u14-linux-x64.bin包
    [root@localhost ~]# chmod +x jdk-6u14-linux-x64.bin
    [root@localhost ~]# ./jdk-6u14-linux-x64.bin
    [root@localhost ~]# mv jdk1.6.0_14/ /usr/local/java
    [root@localhost ~]# vim /etc/profile
    添加五行:
    export JAVA_HOME=/usr/local/java
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
    export AMOEBA_HOME=/usr/local/amoeba
    export PATH=$PATH:$AMOEBA_HOME/bin
    [root@localhost ~]# source /etc/profile
    [root@localhost ~]# mkdir /usr/local/amoeba
    [root@localhost ~]# tar fx amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
    [root@localhost ~]# chmod -R 755 /usr/local/amoeba/
    [root@localhost ~]# /usr/local/amoeba/bin/amoeba
    amoeba start|stop //出现此行用法说明,证明配置无误。
    如果出现一下信息表示错误:
    The stack size specified is too small, Specify at least 160k
    Could not create the Java virtual machine.
    解决方法:
    [root@localhost ~]# vim /usr/local/amoeba/bin/amoeba
    修改58行:
    DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k" --> DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss256k"

    [root@localhost ~]# cd /usr/local/amoeba/conf
    [root@localhost conf ]# cp amoeba.xml amoeba.xml.bak
    [root@localhost conf ]# vim amoeba.xml
    修改如下几行:
    30 <property name="user">amoeba</property>
    32 <property name="password">123456</property>
    115 <property name="defaultPool">master</property>
    117 <property name="writePool">master</property>
    118 <property name="readPool">slaves</property>
    [root@localhost conf ]# vim dbServers.xml
    20 <property name="port">3306</property>
    26 <property name="user">admin</property>
    28 <property name="password">123</property>
    43 <dbServer name="master" parent="abstractServer">
    46 <property name="ipAddress">192.168.200.111</property
    50 <dbServer name="slave1" parent="abstractServer">
    53 <property name="ipAddress">192.168.200.112</property>
    57 <dbServer name="slave2" parent="abstractServer">
    58 <factoryConfig>
    59 <!-- mysql ip -->
    60 <property name="ipAddress">192.168.200.113</property>
    61 </factoryConfig>
    62 </dbServer>
    64 <dbServer name="slaves" virtual="true">
    70 <property name="poolNames">slave1,slave2</property>
    [root@localhost conf ]# nohup /usr/local/amoeba/bin/amoeba start &
    [root@localhost ~]# netstat -anpt | grep java
    tcp6 0 0 127.0.0.1:36539 :::* LISTEN 20222/java
    tcp6 0 0 :::8066 :::* LISTEN 20222/java

    客户端:192.168.200.115

           此时三台mysql服务器是主从备份的,在mysql-master中创建db_test库及该库下的test表,
    然后可以在mysql-slave1和mysql-slave2上可以查看该库和表。
           在mysql-slave1和mysql-slave2上停止主从备份。
           在master、slave1、slave2上添加不同的表内容。
           在客户机上进行读测试时,发现它以轮询的方式读取到slave1和slave2的不同的内容,进行
    写测试时,它会将写的内容写到master中。
           至此,可以验证amoeba实现了mysql的读写分离,写入数据仅会写入到mysql_master中,
    而读取数据时,则以轮询的方式从slave1,slave2两台服务器上读取数据,实现负载均衡。

  • 相关阅读:
    C++ mutex&&RWlock
    一个资源池模型
    C++安全编码摘录
    C++点滴
    git常用命令(转)
    ASN.1
    TDOA泰勒级数法
    teamviewer解除最大通话限制-特别破解版(转)
    剑指offer——旋转数组的最小数字
    常见的相关分析方法——结合实例
  • 原文地址:https://www.cnblogs.com/lyqlyqlyq/p/11678154.html
Copyright © 2011-2022 走看看