mycat读写分离配置

为什么使用MyCat
        如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系性数据库。如何使用关系型数据库解决海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中存储,为应对此问题就出现了——MyCat

同时也可以使用读写分离,解决单点问题,让线路分开,压力也就不会这么大,如果一个出现宕机,另外一个还可以继续运行,同时也能搭建读写分离主从,一个负责读,一个负责写,如果一个宕机了,另外一台读写,如果恢复了,那就还是正常使用

mycat读写分离实战部署

移动安装包到/data里面

tar xvf Mycat-server-1.6.6.1-release-20031195535-linux.tar.gz #解压

bin ---启动文件

catlet ---没什么用

conf ---初始配置文件,包括读写分离等都在这里面配置

cd bin ./mycat start启动mycat失败后

#安装java yum install java

netstat -tnlp 查看是否开启成功有8066就是成功/也可以使用

ps -ef | grep mycat

进入conf配置两个主要文件,schema.xml和server.xml

首先配置schema.xml(其中里面的TESTDB工作原理:若干个数据库连接mycat然后客户端也连接mycat,主要也是伪装一个数据库,因为我们开发也是主要连接这个一个假的数据库,然后再去分发给真的,这样比较安全)

连接数据库:mysql -uuser -p -P8066 -h127.0.0.1 密码:user

读写分离:1个主1个从,当用户读取的时候,连接的是下面S,如果是写的话连接的是上面这台M,一般用到这种架构的情况就是数据库压力比较大,数据库扛不住,遇到了瓶颈,才会使用读写分离,读写分开,如果压力还大的话,就会在加一台从库,就变成2台负责读,1台写,一般读得压力比较大。所以高可用和负载均衡都可以就看大家的需求了

检查一下数据库是否可以执行1主2从

show slave status\G

 编写schema.xml配置文件

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="gpsdb2020" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn2"></schema>
        <schema name="zhangsan" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn3"></schema>

       <dataNode name="dn2" dataHost="localhost1" database="gpsdb2020" />
       <dataNode name="dn3" dataHost="localhost1" database="zhangsan" />
        <dataHost name="localhost1" maxCon="500" minCon="20" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="master" url="192.168.174.133:3306" user="rep" password="123456">
                        <readHost host="slave" url="192.168.174.143:3306" user="rep" password="123456" />
                </writeHost>
        </dataHost>
</mycat:schema>

修改这里:

配置server.xml

<user name="admin">

                <property name="password">admin</property>

                <property name="schemas">gpsdb2020,zhangsan</property>

        </user>

 保存启动 ./mycat stop ./mycat start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ELIAUK``

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值