前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mycat-3:读写分离

mycat-3:读写分离

作者头像
py3study
发布2020-01-10 12:46:13
2730
发布2020-01-10 12:46:13
举报
文章被收录于专栏:python3python3

利用mycat读写分离 主库192.168.56.101,备库192.168.56.25. 3个数据库db1,db2,db3.主从同步见之前数据库目录。

修改schema.xml balance="0" 0:不开启读写分离机制,所有读操作都发送到当前可用的writeHost上 1:全部的readHost与stand by writeHost参与select语句的负载均衡, 2:所有读操作都随机在writeHost、readHost上分发 3:所有读请求随机分发到writeHost对应的readHost执行,writeHost不负担读压力

代码语言:javascript
复制
writeType="0"
0:所有写操作发送到配置的第一个writeHost,当第一个writeHost宕机时,切换到第二个writeHost,重新启动后以切换后的为准,切换记录在配置文件:dnindex.properties中
1:所有写操作都随发送到配置的writeHost

switchType:切换方式

-1:不自动切换 1:自动切换(默认) 2:基于MySql主从同步的状态来决定是否切换

代码语言:javascript
复制
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
          writeType="0" dbType="mysql" dbDriver="native" switchType="2"  slaveThreshold="100">
    <heartbeat>select user()</heartbeat>
    <!-- can have multi write hosts -->
    <writeHost host="hostM1" url="localhost:3306" user="root"
               password="123456">
        <!-- can have multi read hosts -->
        <readHost host="hostS2" url="192.168.56.25:3306" user="root" password="123456" />
    </writeHost>
    <writeHost host="hostS2" url="192.168.56.25:3306" user="root"
               password="123456" />
    <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
</dataHost>

关闭mycat ./mycat stop 开启mycat ./mycat start mysql -uroot -p123456 -P8066 -h127.0.0.1 -DTESTDB 查看会写到哪个库 explain insert into travelrecord(id,user_id,traveldate,fee,days) values(101,'lmkzxh',20160101,100,10); insert into travelrecord(id,user_id,traveldate,fee,days) values(101,'lmkzxh',20160101,100,10);

然后在从mysql看已经同步了。 more /root/mycat/logs/mycat.log 可以看到是写入在主mysql。 select * from travelrecord; more /root/mycat/logs/mycat.log 可以看到是从备mysql。

关闭主mysql服务 service mysqld stop

写入数据成功,说明已经切换。 insert into travelrecord(id,user_id,traveldate,fee,days) values(1011,'ok',20160101,100,10);

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档