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. 每日一练PAT_B_PRAC_1002

    NowCoder最近在研究一个数列:* F(0) = 7* F(1) = 11* F(n) = F(n-1) + F(n-2) (n≥2)他称之为NowCoder数列.请你帮忙确认一下数列中第n个数是 ...

  2. Codeforces_442_A_枚举

    http://codeforces.com/problemset/problem/442/A 想想成5*5的图,一共能划10条线,枚举2^10次即可. 判断每种情况是否符合条件的方法,若存在点,被线穿 ...

  3. (二)Mybatis动态sql

    首先动态sql简单来讲就是可以根据传入参数的不同来动态的生成sql语句,拼接where语句,这样你就不用写很多个sql语句了,并且它里面有一些特性也可以帮助你避免sql语句的拼接错误,主要分为4个: ...

  4. Virus:病毒查杀

    简介 小伙伴们,大家好,今天分享一次Linux系统杀毒的经历,还有个人的一些总结,希望对大家有用. 这次遇到的是一个挖矿的病毒,在挖一种叫门罗币(XMR)的数字货币,行情走势请看 https://ww ...

  5. asp.net EF core 系列 作者:懒懒的程序员一枚

    asp.net core 系列 19 EFCore介绍写作逻辑一 .概述1.1 比较EF Core 和EF61.2 EF Core数据库提供程序 1.3 引用程序添加数据库提供程序1.4 获取Enti ...

  6. Go语言实现:【剑指offer】扑克牌顺子

    ​该题目来源于牛客网<剑指offer>专题. LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)-他随机从中抽出了5张牌,想测测自己的手气 ...

  7. 9.3.2 map端连接-CompositeInputFormat连接类

    1.1.1         map端连接-CompositeInputFormat连接类 (1)使用CompositeInputFormat连接类需要满足三个条件: 1)两个数据集都是大的数据集,不能 ...

  8. Linux 内存分析工具——free命令

    在Linux系统经常被用作服务器系统.当服务器内存吃紧的时候,free命令是我们最常使用的内存分析工具. free使用介绍 free命令可以显示Linux系统中空闲的.已用的物理内存及swap内存,及 ...

  9. 【python爬虫】windoes的爬虫中文乱码现象,通用转码解决

    page = session.get(url="https://www.qidian.com/") page.encoding = page.apparent_encoding p ...

  10. 数据算法 --hadoop/spark数据处理技巧 --(3.左外连接 4.反转排序)

    三. 左外连接 考虑一家公司,比如亚马逊,它拥有超过2亿的用户,每天要完成数亿次交易.假设我们有两类数据,用户和交易: users(user_id,location_id) transactions( ...