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

    一、架构( M-M-S-S、MyCat )

    192.168.40.129 master1
    192.168.40.131 master2
    192.168.40.155 slave1
    192.168.40.128 slave2
    192.168.40.200 mycat

    MySQL的代理最常见的是mysql-proxy、cobar、mycat、Atlas。Atlas等。mysql-proxy是一个轻量的中间代理。cobar是阿里提供的一个中间件,已经停止更新。mycat的前身就是cobar,活跃度比较高。Atlas奇虎360的一个开源中间代理,是在mysql-proxy 0.8.2的基础上进行了优化,增加一些新的功能特性。360内部使用Atlas运行的MySQL业务,每天承载的读写请求数达几十亿条。

    https://www.jianshu.com/p/3869b4ea7642?utm_campaign
    https://www.cnblogs.com/lixuebin/p/10808458.html(推荐,mha高可用)
    二、配置 Java环境

    #tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local/(先下包)

    #ln -s /usr/local/jdk1.8.0_91/ /usr/local/java(软连接)

    #vim /etc//profile

    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH

    #tail -3 /etc/profile

    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH

    source /etc/profile

    env |grep JAVA

    java      -version(查询到版本。说明jdk安装成功)

    三、配置Mycat

    下载mycat  :wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

    #tar xf  Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz    -C   /usr/local/

    #ls /usr/local/mycat/

    配置mycat前端

    vim  /usr/local/mycat/conf/server.xml

    注释掉多余用户

     启动mycat管理员

     配置mycat后端

     vim  /usr/local/mycat/conf/schema.xml

     关于属性的介绍

    balance 类型 

    1. balance=“0”,  关闭读写分离功能,所有读操作都发送到当前可用的writeHost上。
    2. balance=“1”,开启读写分离,所有读操作都随机的发送到readHost。

    3. balance=“2”,开启读写分离。所有主机一起参加查询,所有读操作都随机的在writeHost、readhost上分发。

    4.balance="3",开启读写分离。仅有读主机参加查询。所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力
    writeType

    属性备份型:writeType="0", 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准,切换记录在配置文件中:dnindex.properties 负载型: writeType="1",所有写操作都随机的发送到配置的 writeHost。

    四、配置mysql群

     M-M-S-S 准备Mycat连接的用户及权限

    例如master1      授权:grant all on *.* to 'mycatproxy'@'192.168.40.200' identified by 'Zjz@5740';

    五、启动Mycat

    #/usr/local/mycat/bin/mycat start  启动mycat

    Starting Mycat-server...    启动成功,否则就是配置Mycat后端语法错误。

    #netstat  -anpt | grep java  监测端口是否启动

    #ps aux | grep mycat 检测进程是否启动  (检测不到,很大可能配置文件错误)

    #yum install -y mariadb   安装客户端

    #mysql    hmycat    -uroot    -pZjz@5740    -P8066

    mysql>show databases;

    六、Mycat使用后方数据库

    mysql>show databases;
    +----------+
    | DATABASE |
    +----------+
    | zjz      |
    +----------+
    1 row in set (0.00 sec)

    mysql>use zjz

    mysql>mysql> select * from fzy;
    +------+
    | i    |
    +------+
    |   23 |
    +------+
    1 row in set (0.10 sec)

    注:1、tail -f /usr/local/mycat/logs/wrapper.log(mycat错误日志)

           2、做了读写分离,从库不能写数据

           3、mycat显示的是数据库集群中的某一个库(而不是集群的名字和所有库),多个库得自己从配置文件中添加。

           4、mycat用来查看后方数据库,别写数据。

    七、多库时如何设置mycat

     

     https://blog.51cto.com/lizhenliang/1305083

    MySQL-Proxy实现MySQL读写分离提高并发负载

  • 相关阅读:
    【转】为什么要报考系统架构设计师考试
    前端三大主流框架中文文档
    零散知识点-类的区别;函数式编程的简单总结;
    window.location相关方法
    Hybrid相关
    php中file_get_contents与curl的区别
    三级下拉菜单
    微信生成带参数二维码及响应操作
    开发中因长时间不用而遗忘的,持续补充中。。
    项目中用到的几个工具函数
  • 原文地址:https://www.cnblogs.com/zjz20/p/11443997.html
Copyright © 2011-2022 走看看