MySQL优化(四)——读写分离
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优化(四)——读写分离的更多相关文章
- MySQL 主从复制与读写分离 (超详细图文并茂小白闭着眼睛都会做)
MySQL 主从复制与读写分离 1.什么是读写分离 2.为什么要读写分离 3.什么时候要读写分离 4.主从复制与读写分离 5.mysql支持的复制类型 6.主从复制的工作过程 7.MySQL主从复制延 ...
- MySQL + Atlas --- 部署读写分离
阅读目录 1. 数据库用户配置 2. 主从数据库连接 3. Atlas配置 4. 读写分离测试 序章 Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Pr ...
- Mysql主从配置+读写分离
Mysql主从配置+读写分离 MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...
- Mysql主从配置+读写分离(转)
MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了 ...
- mysql主从复制以及读写分离
之前我们已经对LNMP平台的Nginx做过了负载均衡以及高可用的部署,今天我们就通过一些技术来提升数据的高可用以及数据库性能的提升. 一.mysql主从复制 首先我们先来看一下主从复制能够解决什么问题 ...
- MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)
Mysql Proxy Lua读写分离设置 一.读写分离说明 读写分离(Read/Write Splitting),基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELE ...
- 如何轻松实现MySQL数据库的读写分离和负载均衡?
配置好了 Mysql 的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡.读写分离和负载均衡是 Mysql 集群的基础需求,MaxScale 就可以帮着 ...
- 聊聊Mysql主从同步读写分离配置实现
Hi,各位热爱技术的小伙伴您们好,好久没有写点东西了,今天写点关于mysql主从同步配置的操作日志同大家一起分享.最近自己在全新搭建一个mysql主从同步读写分离数据库简单集群,我讲实际操作步骤整理分 ...
- Docker容器启动Mysql,Docker实现Mysql主从,读写分离
Docker容器启动Mysql,Docker实现Mysql主从,读写分离 一.Docker文件编排 二.配置主从复制 2.1 配置master 2.2 配置slave 三.验证主从复制 3.1 mas ...
随机推荐
- nginx适用哪些场景
1.静态资源服务 通过本地文件系统提供服务 2.反向代理服务 ningx的强大性能 缓存 负载均衡 3.API服务 openresty
- jsp简单实现交互
test.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo ...
- Angular 从入坑到挖坑 - Angular 使用入门
一.Overview angular 入坑记录的笔记第一篇,完成开发环境的搭建,以及如何通过 angular cli 来创建第一个 angular 应用.入坑一个多星期,通过学习官方文档以及手摸手的按 ...
- C语言关于getchar()的小笔记
#include <windows.h> #include <mmsystem.h> #include <string.h> void main() { int a ...
- Python 语言规范(Google)
Python语言规范 Lint tip 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less dy ...
- [Python源码剖析]获取Python小整数集合范围
#!/usr/bin/env python #-*- coding=utf-8 -*- small_ints = dict() for i in range(-10000,10000): small_ ...
- 微信小程序—Flex布局
参考教程:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html https://xluos.github.io/demo/flexb ...
- 设计模式——Adapter Pattern 适配器模式
我第一次接触设计模式,选取了四大类型里面的结构型,这类型的特点是关注类&对象之间的组合(使用继承),我从中选取适配器模式来具体学习. 一.适配器模式(Adapter Pattern)定义: 适 ...
- Mario是一个基于.NETCore的简单快速开发框架
Mario .NET Core简单快速开发框架 Mario是一个基于.NET Core的简单快速开发框架 GitHub:https://github.com/deeround/Mario 技术特点 基 ...
- Algorithms - Insertion Sort - 插入排序
Insertion Sort - 插入排序 插入排序算法的 '时间复杂度' 是输入规模的二次函数, 深度抽象后表示为, n 的二次方. import time, random F = 0 alist ...