由于接触主从复制,读写分离的时间比较短,应用还不够熟练,目的是能通过MyCat实现基础的读写分离操作。

其核心功能是分库分表,配合数据库的主从模式还可实现读写分离。

1. 测试环境

一台win10主机,两个CentOS7虚拟机

mysql 5.5-MariaDB

master_ip:192.168.1.109(虚)

slave_ip:192.168.1.118(虚)

2. 下载mycat

下载地址:http://www.mycat.org.cn/

测试时选择的是:Mycat-server-1.6-release -》  Mycat-server-1.6-RELEASE-20161028204710-win.tar.gz

3. 安装mycat(win环境下)

需要已管理员身份运行命令行窗口,否则可能会提示:wrapper拒绝访问

mycat.bat install

4. 启动和停止

可以使用如下命令启动mycat服务

mycat.bat start

启动后可以通过如下命令查看mycat的运行状态

mycat.bat status

可以使用如下命令停止mycat服务

mycat.bat stop

5. 填坑

在运行mycat之前需要先安装jdk,否则无法启动。MyCAT中使用了JDK7中的一些特性,所以要求必须在JDK7以上的版本上运行。测试时使用了jdk-15.0.1_windows-x64_bin.exe。

在运行mycat的时候提示了两个关于MaxPermSize和AggressiveOpts的警告信息导致启动失败,所以修改了conf/wrapper.conf文件,将以下两行内容注释掉。

#wrapper.java.additional.3=-XX:MaxPermSize=64M

#wrapper.java.additional.4=-XX:+AggressiveOpts

6. 修改server.xml文件,最小配置

666666

testdb

用户节点配置,链接mycat的用户名和密码,以及逻辑上的数据库名称。mycat的默认端口时8066。

7. 修改schema.xml文件,最小配置

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

password="master1">

schema标签用于定义mycat实例中的逻辑库

datanode标签定义了mycat中的数据节点,就是一个独立的数据分片。

有两个参数需要注意,balance和 switchType。其中,balance指的负载均衡类型,目前的取值有4种:

balance=“0”, 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上;

balance=“1”,全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且M1与 M2互为主备),正常情况下,M2、S1、S2都参与select语句的负载均衡;

balance=“2”,所有读操作都随机的在writeHost、readhost上分发;

balance=“3”,所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力。

switchType指的是切换的模式,目前的取值也有4种:

switchType=’-1’ 表示不自动切换;

switchType=‘1’ 默认值,表示自动切换;

switchType=‘2’ 基于MySQL主从同步的状态决定是否切换,心跳语句为 show slave status;

switchType='3’基于MySQL galary cluster的切换机制(适合集群)(1.4.1),心跳语句为 show status like ‘wsrep%’。

8. 实际测试

成功。

mysql实现主从复制的方式_mysql实现主从复制、读写分离的配置方法(二)相关推荐

  1. mysql读写分离java配置方法_springboot配置数据库读写分离

    为什么要做数据库读写分离 大多数互联网业务,往往读多写少,这时候,数据库的读会首先称为数据库的瓶颈,这时,如果我们希望能够线性的提升数据库的读性能,消除读写锁冲突从而提升数据库的写性能,那么就可以使用 ...

  2. 如何进行MySQL主从复制与读写分离的配置

    MySQL主从复制与读写分离 什么是读写分离? 为什么要读写分离呢? 什么时候要读写分离? 主从复制与读写分离 mysq支持的复制类型 主从复制的工作过程 MySQL主从复制延迟 MySQL主从复制实 ...

  3. mysql读写分离中间件都有哪些_MySQL cetus 中间件 读写分离

    首先需要确保mysql 的主从同步成功. CentOS 系统可以通过以下命令安装依赖包: yum install cmake gcc glib2-devel flex mysql-devel gper ...

  4. mysql读写分离_Mysql数据库09MySQL读写分离

    Mysql数据库09-MySQL读写分离 一.读写分离应用案例分析 在企业用户中,在大量的数据请求下,单台数据库将无法承担所有读写操作.解决方法:配置多台数据库服务器以实现主从复制+读写分离. 二.读 ...

  5. mysql读写分离_MySQL基于amoeba读写分离实验

    =========================================== 主从复制只是一个同步数据的方式 读写分离:只在主的上面写,只在从的上面读 读写分离方案:[1]基于程序代码内部 ...

  6. mysql命令行显示乱码_mysql命令行显示乱码的解决方法

    我就废话不多说了,大家还是直接看代码吧~create or replace function aa1(a1 integer[],a2 bigint) returns void AS $$declare ...

  7. mysql 1千万 like优化_MYSQL千万级数据量的优化方法积累

    1.分库分表 很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表mem ...

  8. mysql yum安装与配置文件_MySQL 8.0 yum安装和配置

    MySQL 8.0 centos7.5 x86_64 一.yum安装 1.先卸载机器和mysql有关的东西,有的安装了mariab-lib,会对安装有干扰,卸载了它. [root@localhost ...

  9. mysql 增加字段位置靠前_mysql 字段指定值靠前排序方法,多字段排序排序方法

    背景:SEO下选择某查询条件 查询展示信息为装修设计师以及设计师作品.设计师原型设计为:选择某风格 例如:简约,则列表出现拥有简约风格的设计师信息以及该设计师类型为简约的作品(3条靠前记录) 浏览原型 ...

  10. mysql慢sql增加读写分离_MySQL主从同步+读写分离

    MySQL主从同步+读写分离 实验拓扑: 三台mysql数据库: 192.168.80.101 主服务器 mysql 192.168.80.102 从1服务器 mysql 192.168.80.103 ...

最新文章

  1. c语言程序设计第4版pdf荣政_C语言程序设计(第4版) (史蒂芬.寇肯) 中文pdf扫描版[82MB]...
  2. C++图形着色graph coloring算法(附完整源码)
  3. linux svn 命令
  4. 导出到文件_Java项目导出可运行的jar文件
  5. 清华大学计算机科学与技术在哪个楼,清华大学计算机科学与技术系宿舍
  6. sort();对结构体数组的排序
  7. 兰州大学计算机调剂2020,兰州大学2020考研调剂公告
  8. 安装ISA2004后,加入域时提示:远程过程调用失败且未运行的解决办法
  9. R(1):中文乱码解决方案
  10. swig c java gemt,SWIG C函数指针和JAVA
  11. 有些人真是笨的可以,劝我自己别多管闲事,切记切记
  12. 基于遗传算法的水力发电厂的优化(Matlab代码实现)
  13. php身份证实名认证接口
  14. lettuce连接池真有必要吗?
  15. React Toolkit使用
  16. html图片滤色,css--图片处理
  17. RT-Thread Studio 项目实战教程 | 快速打造一个桌面mini网络时钟
  18. 一IT公司hr对软件外包感受(转)
  19. 数据分析——“鲍鱼的年龄”数据集
  20. HanLP 自然语言处理 for nodejs 1

热门文章

  1. aspose.words .net 导出word表
  2. Linux编写shell脚本的注意事项
  3. 浏览器Quirksmode(怪异模式)与CSScompat
  4. 为什么我推荐ImageJ?
  5. 【OpenCV】分离多通道图像RGB的值
  6. 【OpenCV学习笔记】【函数学习】二(MFC+OpenCV2.4.7读取摄像头之CvvImage::CopyOf 的通道选择问题)
  7. 基于迭代局部搜索和随机惯性权重的BA算法MATLAB实现(ILSSIWBA)
  8. Python文章归档
  9. 从零基础入门Tensorflow2.0 ----七、34 embedding rnn
  10. Matlab 绘制箱线图