mycat 读写分离 简单搭建

本文详细介绍了如何在三台机器上部署mycat,包括安装JDK、配置环境变量,以及mycat的server.xml和schema.xml配置,涉及用户授权、读写分离设置和心跳检测等内容。
摘要由CSDN通过智能技术生成

下载配置mycat

###最少需要三台机器 一台mycat 一台读端 一台写端

使用mycat mycat为数据库中间件
安装jdk 将jkd压缩包解压到/usr/local/目录下
设置环境变量 mv /usr/local/jdk1.8.0_221/ java
添加帕斯变量 vim /etc/profile


    JAVA_HOME=/usr/local/java  指定目录
    exprot PATH=$JAVA_HOME/bin:$PATH   声明帕斯变量


下载mycat 并解压到 /usr/local/ 下


mycat 的相关配置文件 /usr/local/mycat/conf/server.xml
        定义用户以及系统相关的变量 如端口 或者 用户信息
mycat 的相关配置文件 /usr/local/mycat/conf/schema.xml
        定义逻辑库 表 分片节点等内容


读和写端操作

读端写端 用户赋权


登入mysql 创建用户 create user 用户名@‘指定登录范围’ identified by‘密码’
    给用户授权 grant 权限 on 库.表 to '用户名'@‘ip范围’ 
    给用户修改可登录范围 登录 use mysql  update user set host = ‘指定范围’ where user = ‘指定用户’
    刷新权限列表 flush privileges
权限尽量给全部 读端写段必须指定同一个库    可登录范围必须能让mycat端登录


mycat端配置server.xml


vim /usr/local/mycat/conf/server.xml
    文件末尾 只保留一个<user> 并更改其中内容


    <user name="mycat用户名">
        <property name="password">密码</property>
        <property name="schemas">逻辑mycat库名</property>
    </user>


mycat端配置schema.xml


vim /usr/local/mycat/conf/schema.xml
 可以只保留以下内容
<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">


        <schema name="指定逻辑数据库" checkSQLschema="false" sqlMaxLimit="100" dataNode="指定节点 必须与下面的一致">
        </schema>
        <dataNode name="dn1" dataHost="localhost1" database="指定读写分离的数据库 一般需要数据库重名" />
        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="操作标识 读写分离标识为3"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="hostM1" url="写端的ip地址:3306" user="写端的授权用户"
                                   password="写端授权用户的密码">
                        <readHost host="hostS2" url="读端的IP地址:3306" user="读端的授权用户" password="读端授权用户的密码" />
                </writeHost>
        </dataHost>

</mycat:schema>


balance 属性


1 balance=“0” 不开启读写分离机制 所有操作都发送到当前可用的writehost上
2 balance=“1”  全部的 readHost 与  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 属性


负载均衡类型

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

心跳检测 健康检查配置文件 <heartbeat>语句</heartbeat>
启动mycat /usr/local/mycat/bin/mycat start 检查是否启动成功 netstat -lntp | grep java 端口为8066 


在外面登录 mysql -h 指定mycat的ip -P 指定mycat的端口 -p指定密码 -u 指定用户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值