zoukankan      html  css  js  c++  java
  • windows下 myCat+mySQL读写分离配置

    一、mysql配置主从复制

    MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。

    在开发工作中,有时候会遇见某个sql 语句需要锁表,导致暂时不能使用读的服务,这样就会影响现有业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。

     

    我这里是一主一从配置

    配置主库 (master)

    在mysql的my.ini配置文件添加以下信息

    server-id = 200 
    binlog-do-db=XXX
    log-bin=mysql-bin

    重启数据库

    停止mysql: net stop mysql2

    启动mysql: net start mysql2

    (这里需要注意 我用mysql2 是因为我安装了两个mysql  我使用的是mysql2)

    创建授权复制用户 

    grant replication slave on *.* to '用户名'@'192.168.1.%' identified by '密码';
    flush privileges;
    show master status

    配置从库

    从库的my.ini配置文件添加以下信息

    server_id=185
    relay-log-index=slave-relay-bin.index
    relay-log=slave-relay-bin
    slave-skip-errors=all

    配置完成重启从库mysql。

    change master to配置和改变slave服务器用于连接master服务器的参数,

    以便slave服务器读取master服务器的binlog及slave服务器的relay log。

    同时也更新master info及relay log info信息库。

    change master to master_host='192.168.1.1', 
    master_user='主库账号',
    master_password='主库密码',
    master_port=3307, 
    master_log_file='.000001', 
    master_log_pos=154;

    配置完成后启动slave

    启动命名 start slave;

     图上两个为Yes就大工告成。

    二、配置myCat

    mycat是一个数据库中间件,也可以理解为是数据库代理。在架构体系中是位于数据库和应用层之间的一个组件。

    我下载的mycat是1.6.7.6版本的。

    下载完解压即可

    读写分离只要配置server和schema就够了 

    打开conf找到以下两个文件

    server配置连接MyCat的用户及权限

    schemas里是逻辑库名 并非真实数据库名与schema的schema保持一致

     schema配置双主

       

      balance类型

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

      1:全部的readHost与stand by writeHost参与select语句的负载均衡,

      2:所有读操作都随机在writeHost、readHost上分发

      3:所有读请求随机分发到writeHost对应的readHost执行,writeHost不负担读压力

    配置server

     

     三、测试主从复制读写分离

    51是我本地的mysql 也就是主库(master),52是从库(slave)

    我在主库创建了一个demo表 ,然后复制过去从库了 刷新以下myCat-185的textedb就能看到。

    在主从插入一条数据。

    接着刷新从库,从库已经复制了主库的信息了

    连接mycat进行测试   3066是我mycat的端口

    在mycat插入一条数据

    刷新127和185的数据库就能看到 都已经有数据了。

    查询是不会查主库的 ,测试一下在从库添加一条数据。

    这条数据是插在185数据库上的 ,在127数据库是没有的 使用mycat测试

    热爱世间万物,没例外,没最爱。
  • 相关阅读:
    向量场中的积分
    Oracle 动态视图4 V$SESSION_WAIT & V$SESSION_EVENT
    Oracle 动态视图3 V$SESSION
    Oracle 动态视图2 V$LOCKED_OBJECT
    Oracle 摘去数据块的面纱
    Oracle 动态视图1 V$LOCK
    Oracle Lock 概述
    Oracle 监听动态注册与静态注册
    Oracle用户进程跟踪
    Oracle SGA参数调整
  • 原文地址:https://www.cnblogs.com/guarderming/p/14698973.html
Copyright © 2011-2022 走看看