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. VUE 开发报表,非编码方式

    官网:http://doc.sougn.com 下载地址:https://pan.baidu.com/share/init?surl=P0O9sjfzC8nuQxirDfjW1A  密码:4oev 先 ...

  2. 在jsp页面下, 让eclipse完全支持HTML/JS/CSS智能提示

    我们平时用eclipse开发jsp页面时智能提示效果不太理想,今天用了两个小时发现了eclipse也可以像Visual Studio 2008那样完全智能提示HTML/JS/CSS代码,使用eclip ...

  3. Flink安装及实例教程

    通过本教程我们将快速部署好flink在linux下的环境,并通过flink完成一个小demo的测试 一.准备阶段 flink压缩包下载(1.7.2): http://archive.apache.or ...

  4. lua学习之函数篇

    函数 函数是对语句和表达式进行抽象的主要机制 两种用法 一是可以完成特定的任务,一句函数调用被视为一条语句 二是以只用来计算并返回特定的结果,视为一句表达式 print("Hello, Wo ...

  5. 面试官:你连RESTful都不知道我怎么敢要你? 文章解析

    面试官:你连RESTful都不知道我怎么敢要你?文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接口4.一致的数据格式4.系统分层5.可缓 ...

  6. Samba搭建Linux和Windows文件共享服务

    一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享 ...

  7. DotNet源码学习-HASHSET(初探)

    命名空间:System.Collections.Generic 先看一下官方说明:类提供了高级的设置操作.集是不包含重复元素的集合,其元素无特定顺序. HashSet <T>对象的容量是对 ...

  8. Myeclipse maven项目转web项目

    右键点击项目,选择project facets,或者在properties选择,点“Convert to faceted from...” 勾选java和Dynamic Web Module 选项 接 ...

  9. Android.bp文件简介

    Android.bp是用来替换Android.mk的配置文件,它使用Blueprint框架来解析.Blueprint是生成.解析Android.bp的工具,是Soong的一部分.Soong则是专为An ...

  10. .Net框架的模块代码生成器--其三(dotnet tool指令的参数)

    别人已经写好了一个这种处理指令参数的库,我们这里是使用别人的库来实现规范的指令系统 继续上一篇的gfile或者新建一个.Net Core控制台程序也可以 1.安装nuget包,程序包管理器控制台运行 ...