• Linux 开源数据库Mysql-11-mysql集群代理


    Linux 开源数据库Mysql-11-mysql集群

    前言本次使用的双主双从环境为之前实验环境如需搭建请翻阅以往的博文

    https://blog.csdn.net/yyf0430/article/details/126089650?spm=1001.2014.3001.5501

    本次使用的软件将会上传到我的资源中,如需使用请下载

    代理DB proxy,数据库中间间

    功能
    1.读写分离 M-S-S M-M-S-S
    2.负载均衡
    3支持数据得分片自动路由与聚合
    产品
    Mysql Proxy Mysql官方
    Atlas 奇虎360
    DBProxy 美团
    Amoeba 早期阿里
    cober 阿里
    MyCat 阿里

    Mycat示例
    Mycat 192.168.159.134
    master1 192.168.159.130
    master2 192.168.159.131
    slave1 192.168.159.132
    slave2 192.168.159.133

    一、配置JAVA环境

     下载JDK
     安装JDK
    
    • 1
    • 2
      tar xf jdk-8u201-linux-x64.tar.gz -C /usr/local/
      ln -s /usr/local/jdk1.8.0_201/ /usr/local/java
    
    • 1
    • 2

    在这里插入图片描述

    vi /etc/profile
    在最下面添加
    JAVA_HOME=/usr/local/java
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME PATH
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    source /etc/profile
    java -version
    
    • 1
    • 2

    在这里插入图片描述

    二、配置Mycat

    tar xf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
    
    • 1
    配置Mycat得前端
    vim /usr/local/mycat/conf/server.xml
    注释掉以下内容
    
    • 1
    • 2
    • 3

    在这里插入图片描述上图方框中得内容为Myscat得普通用户在本次实验中没有用,
    启用得Mycat 得root用户 本次测试的是两个库testdb、testdbb
    在这里插入图片描述

    三、配置mysql群

    在这里插入图片描述

    
    DOCTYPE mycat:schema SYSTEM "schema.dtd">
    <mycat:schema xmlns:mycat="http://io.mycat/">
    
            <schema name="testdb" checkSQLschema="false" sqlMaxLimit="100" dataNode='dn1'> schema>
            <schema name="testdbb" checkSQLschema="false" sqlMaxLimit="100" dataNode='dn2'> schema>
    
            <dataNode name="dn1" dataHost="localhost1" database="testdb" />
            <dataNode name="dn2" dataHost="localhost1" database="testdbb" />
    
            <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
                              writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                    <heartbeat>select user()heartbeat>
                    <writeHost host="master1" url="master1:3306" user="mycatproxy" password='qwer1234QWER!@#$'>
                            <readHost host="slave1" url="slave1:3306" user="mycatproxy" password='qwer1234QWER!@#$' />
                            <readHost host="slave2" url="slave2:3306" user="mycatproxy" password='qwer1234QWER!@#$' />
                    writeHost>
                    <writeHost host="master2" url="master2:3306" user="mycatproxy" password='qwer1234QWER!@#$'>
                            <readHost host="slave1" url="slave1:3306" user="mycatproxy" password='qwer1234QWER!@#$' />
                            <readHost host="slave2" url="slave2:3306" user="mycatproxy" password='qwer1234QWER!@#$' />
                    writeHost>
            dataHost>
    mycat:schema>
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    balance 属性
    负载均衡类型,目前的取值有 3 种:

    1. balance=“0”, 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
    2. balance=“1”, 全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2
      互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。
    3. balance=“2”, 所有读操作都随机的在 writeHost、readhost 上分发。
    4. balance=“3”, 所有读请求随机的分发到 wiriterHost 对应的 readhost 执行,writerHost 不负担读压力,注意 balance=3 只在 1.4 及其以后版本有,1.3 没有。

    writeType 属性
    负载均衡类型,目前的取值有 3 种:

    1. writeType=“0”, 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准.
    2. writeType=“1”,所有写操作都随机的发送到配置的 writeHost,1.5 以后废弃不推荐。

    switchType指的是切换模式,目前的取值也有4种:
    1.switchType=’-1‘ 负1表示不自动切换
    2.switchType=’1‘默认值,表示根据延时自动切换
    3.switchType=’2‘根据Mysql主从同步的状态决定是否切换,心跳语句slave status

    在已经搭建好的双主双从的集群的主节点上创建并授权用户

    grant all on *.* to 'mycatproxy'@'mycat' identified by 'qwer1234QWER!@#$';
    
    • 1

    四、启动Mycat

    /usr/local/mycat/bin/mycat start
    
    • 1
    netstat -anpt | grep java
    
    • 1

    在这里插入图片描述

    五、Mycat使用后方数据库
    使用数据库连接工具进行连接
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    网络基础知识
    第150篇 笔记-元宇宙(Metaverse)
    关于阅读《重构的时机和方法》这本书所带来的启发
    捷报|数说故事同期斩获虎啸奖、弯弓奖六项大奖
    若依微服务上传图片文件代理配置
    链路负载均衡之策略路由
    常用的表单校验规则——邮箱/QQ/身份证号码/微信/电话/数字字母/整数/文本/密码等
    Vue-计算属性和属性监听器
    JAVA毕业设计的健身房管理系统计算机源码+lw文档+系统+调试部署+数据库
    Zemax基础知识6--设计小知识
  • 原文地址:https://blog.csdn.net/yyf0430/article/details/126114666