专栏首页python3mycat-3:读写分离

mycat-3:读写分离

利用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不负担读压力

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

switchType:切换方式

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

<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);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python3之pymysql

    pymsql是Python中操作MySQL的模块并且只有在Python3.0版本中才存在,其使用方法和MySQLdb几乎相同。

    py3study
  • nginx+uwsgi部署django项

      (i)pycharm-->Tools-->Run manage.py Task

    py3study
  • python之ssh连接库paramik

      paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。

    py3study
  • 原 mysql开启日志记录

    用户1220053
  • 【R语言进行数据挖掘】回归分析

    其中,x1,x2,...,xk都是预测变量(影响预测的因素),y是需要预测的目标变量(被预测变量)。

    统计学家
  • MyCat教程【分库分表】

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    用户4919348
  • iPaaS实现的四个炫酷用例

    iPaaS是Gartner公司在2011年引入的新术语,指的是“一系列云服务,使开发,执行和整合的管理流程连接对中的单个或多个组织部署和基于云计算的进程,服务,...

    CSDN技术头条
  • python 远程执行代码 para

        1.1 error: command ‘gcc’ failed with exit status 1

    py3study
  • windows超级命令行wmic

    wmic process where name='mspaint.exe' call terminate

    我爱你的一诺
  • 纳米机器人已经研发成功? (多图慎点)

    ---- ? 想象一下.体积极小的纳米机器人,一茶匙便可装数十亿个。这种超微型机器人可成群注入患者体内——例如最为脆弱的心脏和大脑——进行超精确药物“投送”或...

    机器人网

扫码关注云+社区

领取腾讯云代金券