1.MySQL高可用
        主从复制      一主多备      多主多备
        读写分离      减少IO开销,防止阻塞等等

2.主从复制参考

https://www.cnblogs.com/chx9832/p/12342626.html

3.MySQL读写分离------Mycat
        1.Mycat暴露给外界访问ip地址,mycat在那一台机器上
        2.ip就是对应机器ip,Mycat会虚拟出一个数据库,供外界连接  如:jdbc:mysql://192.168.xx.xx/dbname
        3.Mycat会指定权限,让从机只能读,让主机能写能读,一般主机只做写
                
    
4.Mycat使用:
      
        4.1 解压mycat,不要放在有中文目录的地方
        4.2 修改mycat解压目录下的conf文件夹中server.xml文件,配置账户
            <!-- 添加user -->
           <user name="mycat_master">
            <property name="password">mycat_master</property>
            <property name="schemas">mycat</property>
           </user>
            
            <!-- 添加user -->
           <user name="mycat_slave">
            <property name="password">mycat_slave</property>
            <property name="schemas">mycat</property>
            <property name="readOnly">true</property>
           </user>

4.3 配置schema.xml文件
            <schema name="mycat" checkSQLschema="true" sqlMaxLimit="100">
                <table name="t_users" primaryKey="user_id" dataNode="dn1" rule="rule1"/>
                <table name="t_message" type="global" primaryKey="messages_id" dataNode="dn1" />
            </schema>
            <dataNode name="dn1" dataHost="jdbchost" database="weibo_simple" />
           
            <dataHost name="jdbchost" maxCon="1000" minCon="10" balance="1"
                        writeType="0" dbType="mysql" dbDriver="native" switchType="1"
                        slaveThreshold="100">
                <heartbeat>select user()</heartbeat>  
                <writeHost host="hostMaster" url="192.168.7.11:3306" user="root" password="root">
                </writeHost>
                <writeHost host="hostSlave" url="192.168.7.22:3306" user="root" password="root"/>
            </dataHost>

4.4 配置rule.xml
            <tableRule name="rule1">
                <rule>
                    <columns>user_id</columns>
                    <algorithm>func1</algorithm>
                </rule>
            </tableRule>
            <function name="func1" class="org.opencloudb.route.function.AutoPartitionByLong">
            <property name="mapFile">autopartition-long.txt</property>
            </function>
        4.5 配置启动日志log4j.xml
            <level value="debug" />
        
        4.6 启动mycat  端口:8066
            启动bin下startup_nowrap.bat

使用sqlyog模拟jdbc连接

新建一个主机的虚拟连接

连接成功后,就出现了配置的俩张表

虚拟主机可以执行读写操作,添加一条数据测试

回到主机查看,写操作成功

从机同样也是会同步这条数据

再新建一个连接,建立一个虚拟从机的连接

尝试修改之前的数据

提示只读

这样也就保证了

从机只能读不能写

做到了读写分离

MySQL优化(四)——读写分离的更多相关文章

  1. MySQL 主从复制与读写分离 (超详细图文并茂小白闭着眼睛都会做)

    MySQL 主从复制与读写分离 1.什么是读写分离 2.为什么要读写分离 3.什么时候要读写分离 4.主从复制与读写分离 5.mysql支持的复制类型 6.主从复制的工作过程 7.MySQL主从复制延 ...

  2. MySQL + Atlas --- 部署读写分离

    阅读目录 1. 数据库用户配置 2. 主从数据库连接 3. Atlas配置 4. 读写分离测试 序章 Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Pr ...

  3. Mysql主从配置+读写分离

    Mysql主从配置+读写分离     MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...

  4. Mysql主从配置+读写分离(转)

       MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了 ...

  5. mysql主从复制以及读写分离

    之前我们已经对LNMP平台的Nginx做过了负载均衡以及高可用的部署,今天我们就通过一些技术来提升数据的高可用以及数据库性能的提升. 一.mysql主从复制 首先我们先来看一下主从复制能够解决什么问题 ...

  6. MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)

    Mysql Proxy Lua读写分离设置 一.读写分离说明 读写分离(Read/Write Splitting),基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELE ...

  7. 如何轻松实现MySQL数据库的读写分离和负载均衡?

    配置好了 Mysql 的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡.读写分离和负载均衡是 Mysql 集群的基础需求,MaxScale 就可以帮着 ...

  8. 聊聊Mysql主从同步读写分离配置实现

    Hi,各位热爱技术的小伙伴您们好,好久没有写点东西了,今天写点关于mysql主从同步配置的操作日志同大家一起分享.最近自己在全新搭建一个mysql主从同步读写分离数据库简单集群,我讲实际操作步骤整理分 ...

  9. Docker容器启动Mysql,Docker实现Mysql主从,读写分离

    Docker容器启动Mysql,Docker实现Mysql主从,读写分离 一.Docker文件编排 二.配置主从复制 2.1 配置master 2.2 配置slave 三.验证主从复制 3.1 mas ...

随机推荐

  1. 林大妈的JavaScript进阶知识(一):对象与内存

    JavaScript中的基本数据类型 在JS中,有6种基本数据类型: string number boolean null undefined Symbol(ES6) 除去这六种基本数据类型以外,其他 ...

  2. lua学习之语句篇

    语句 赋值 修改一个变量或者修改 table 中的一个字段的值 多重赋值,lua 先对等号右边的所有元素进行求值,然后再赋值 值的个数小于变量的个数,那么多余的变量就置为 nil 初始化变量,应该为每 ...

  3. 使用Java迭代器实现Python中的range

    如果要想迭代一个类的对象,那么该类必须实现 Iterable 接口,然后通过 iterator 方法返回一个 Iterator 实例. Range 类实现了Python中的range的所有用法,如:r ...

  4. lua学习之基础概念篇

    基础概念 程序块 (chunk) 定义 lua 中的每一个源代码文件或在交互模式(Cmd)中输入的一行代码都称之为程序块 一个程序块就是一连串语句或者命令 lua 中连续的语句不需要分隔符,但为了可读 ...

  5. ARTS Week 6

    Dec 2, 2019 ~ Dec 8, 2019 Algorithm 从本周开始,由于要涉及某一算法,但我又有选择困难症.所以我决定在Leetcode刷题的,用ARTS中的算法部分来记录本周值得记录 ...

  6. Newcoder Wannafly13 B Jxy军训(费马小定理、分数在模意义下的值)

    链接:https://www.nowcoder.com/acm/contest/80/B 题目描述 在文某路学车中学高一新生军训中,Jxc正站在太阳下站着军姿,对于这样的酷热的阳光,Jxc 表示非常不 ...

  7. 文本相似性热度统计(python版)

    0. 写在前面 节后第一篇,疫情还没结束,黎明前的黑暗,中国加油,武汉加油,看了很多报道,发现只有中国人才会帮助中国人,谁说中国人一盘散沙?也许是年龄大了,看到全国各地的医务人员源源不断的告别家人去支 ...

  8. 【题解】P1559 运动员最佳匹配问题

    [题目](https://www.luogu.com.cn/problem/P1559) 题目描述 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组 ...

  9. CNN卷积神经网络入门整合(科普向)

    这是一篇关于CNN入门知识的博客,基本手法是抄.删.改.查,就算是自己的一个笔记吧,以后忘了多看看.   1.边界检测示例假如你有一张如下的图像,你想让计算机搞清楚图像上有什么物体,你可以做的事情是检 ...

  10. css常用元素通用样式表

    @charset "utf-8";html,body,a,h1,h2,h3,h4,h5,h6,p,a,b,i,em,s,u,dl,dt,dd,ul,ol,li,strong,spa ...