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

mycat读写分离配置_第1张图片

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

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

show slave status\G

 编写schema.xml配置文件




        
        

       
       
        
                select user()
                
                        
                
        

修改这里:mycat读写分离配置_第2张图片

mycat读写分离配置_第3张图片

配置server.xml



                admin

                gpsdb2020,zhangsan

        

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

你可能感兴趣的:(工作中运用到的服务部署,数据库,java,servlet)