运维之道 | Mysql主从复制+mycat读写分离

本文介绍了Mysql主从复制和Mycat读写分离的详细步骤,包括JDK环境配置、Mycat安装、主从数据库的配置以及读写分离的测试。通过主从复制提高数据安全性,读写分离提升数据库并发负载能力。
摘要由CSDN通过智能技术生成

运维之道 | Mysql主从复制 + Mycat读写分离

  • 1、什么是读写分离
    读写分离,基本的原理是让主数据库处理事务性增、删、改操作(INSERT、UPDATE、DROP),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。

  • 2、为什么要读写分离
    在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需求的。无论是在安全性、高可用性,还是高并发等各个方面都是完全不能满足实际需求的。因此,通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。
    因为数据库的“写”(写10000条数据到oracle可能需要几分钟)操作是比较耗时的;
    但是数据库的“读”(从oracle读10000条数据可能需要几秒钟)操作是比较短时的;
    所以读写分离,解决的是数据库的写入,影响了查询的效果。

  • 3、主从复制、读写分离的基本设计
    一台主、多台从,主提供写操作,从提供读操作。
    在这里插入图片描述

一、安装配置JAVA - JDK环境

1、下载JDK安装包
  • 下载Linux环境下的jdk1.8.0_231,请去JAVA官网中下载jdk的安装文件;

在这里插入图片描述

  • 通过wget命令获取java压缩包
[root@localhost java]# wget https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz?AuthParam=1574751387_e7715500e2e4d54917604014600ce583
2、对JAVA安装包进行解压
[root@localhost java]# tar -zxvf jdk-8u231-linux-x64.tar.gz
3、修改环境配置
[root@localhost java]# vi /etc/profile
# JAVA

JAVA_HOME=/root/java/jdk1.8.0_231
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAME_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
[root@localhost ~]# source /etc/profile    ///重启profile
[root@localhost ~]# javac				   ///测试java环境是否配置成功
用法: javac <options> <source files>
其中, 可能的选项包括:
  -g                         生成所有调试信息
  -g:none                    不生成任何调试信息
  -g:{
   lines,vars,source}     只生成某些调试信息
  -nowarn                    不生成任何警告
  -verbose                   输出有关编译器正在执行的操作的消息
  -deprecation               输出使用已过时的 API 的源位置
  ......   配置成功!!!
[root@localhost ~]# java -version           ///查看java版本
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

二、安装Mycat(基于java环境)

1、获取Mycat安装包
[root@localhost soft]# wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
2、解压Mycat安装包
[root@localhost soft]# tar -xzvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
3、进入到mycat文件的conf子文件夹修改server.xml文件
  • 只需将配置的最后一部分密码修改即可,其他可按需求自行配置;
[root@localhost conf]# vi server.xml
......
 <user name="user">
                <property name="password">123456</property>
                <property name="schemas">TESTDB</property>
                <property name="readOnly">true</property>
        </user>
......
4、修改conf文件中的 schema.xml文件
[root@localhost conf]# vi schema.xml
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="villian">
        </schema>
        <dataNode name="villian" dataHost="localhost1" database="school" />
        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
                        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                        <!-- can have multi write h
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值