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. javabst1

    (单选题)下列概念中不包括任何实现,与存储空间没有任何关系的是() A)类 B)接口 C)抽象类 D)对象 2.(单选题)HTTP状态码中表示请求资源不存在的是(). A)100 B)200 C)30 ...

  2. linux入门系列10--firewalld防火墙管理

    上一篇文章学习了用户及文件相关权限,本篇继续学习防火墙技术. 防火墙作为公网与内网之间的保护屏障,对系统至关重要.防火墙又分为硬件防火墙和软件防火墙,主要功能都是依据设置的策略对穿越防火墙的流量进行过 ...

  3. Ops:命名规范

    前言 好的命名规范见名知义,可以极大的提高工作效率,对于运维工作的标准化至关重要,这里,分享本DevOps小组内讨论的命名规范,希望有参考意义,如果小伙伴们有好的建议或补充,欢迎留言. 1. ansi ...

  4. LeetCode 343.整数拆分 - JavaScript

    题目描述:给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化. 返回你可以获得的最大乘积. 题目分析 题目中"n 至少可以拆分为两个正整数的和",这个条件说 ...

  5. mybatis级联查询,多对一查询问题

    在使用Mybatis进行多表级联查询时遇到了一个问题:查询结果只有一项,但正确结果是两项.经测试,SQL语句本身没有问题. 在SQL映射文件(XML)中: <!-- 级联查询数据 --> ...

  6. 一起了解 .Net Foundation 项目 No.2

    .Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧. 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译.如与原文存在出入,请以原文为准. ASP.NET MVC, ...

  7. c#设计模式读书博客

    第一次在博客园撸博客,也是为了鞭策自己去学习进步,过年之后买了一本<C#设计模式>这是我一直很想去学习的一本书.然后用博客记录我的学习历程,并且分享给需要的人.这本书记录的设计模式有23种 ...

  8. node -- express框架

    express node的一个框架 安装express cnpm install express -S 引入 const express = require("express"); ...

  9. Nginx 十大优化 与 防盗链

    Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Ngin ...

  10. Android 6.0(棉花糖)新特性

    1.支持4K显示 Android 6.0本身已经支持4K显示,会通过一定优化形式使4K内容更加清晰. 2. 启动验证 (更完整的应用权限管理) Android 6.0在开机时会自动运行验证代码,检测设 ...