mysql+mycat实现读写分离

一、配置mysql主从同步

1、主库配置需要同步的数据库(my.ini或者my.cnf)文件中

 2、先将主库数据备份并导入从库,在主库执行

show master status;

查看当前主库的bin-log日志文件和当前备份数据的位置 

 3、从库配置:高版本mysql的从库配置不能写在my.ini文件,需要执行以下语句

--停止从节点服务
stop slave;

--配置主节点信息
change master to
master_host="10.128.161.122",
master_user="root",
master_password="root",
master_log_file="LAPTOP-815KHVSE-bin.000005",  --show master status;查到的File字段值
master_log_pos=3901; --show master status;查到的Position字段值

--启动从节点服务
start slave;

4、查看从节点状态:Slave IO Running和Slave SQL Running都为Yes才可以

show slave status;

二、mycat配置

1、配置conf/schema.xml文件

  • schema --> name为连接mysql时的数据库名
  • table --> name为数据库下的表名(所有表都要配置,不然查不到)
  • dataNode --> database为mysql中真实的数据库
  • dateHost --> balance

        "0", 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。

        "1",全部的 readHost 与  writeHost 参与 select 语句的负载均衡,两个数据库互为主从。

        "2",所有读操作都随机的在 writeHost、readhost 上分发。

        "3",所有读请求随机的分发到 wiriterHost 对应的 readhost 执行,writerHost 不负担读压力。

  • writeHost:配置写库
  • readHost:配置读库

 2、在conf/server.xml中配置

<mycat:server xmlns:mycat="http://io.mycat/">
     <system>
        <!--连接端口-->
        <property name="serverPort">8066</property>
     </system>
     <!--连接时的用户信息-->
     <user name="root" defaultAccount="true">
                <property name="password">root</property>
                <!--schema.xml文件中配置的连接名-->
                <property name="schemas">shop_db</property> 
                <property name="defaultSchema">shop_db</property>
     </user>
</mycat:server>

3、以上就是最简单的配置,进入bin目录启动mycat

./mycat start

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值