【MySQL】分库分表

1.分库分表概述

======>课程
在这里插入图片描述
分库分表的中心思想就是将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库的性能问题,从而达到提升数据库性能的目的。

2.拆分策略

======>课程

2.1 垂直拆分

在这里插入图片描述

在这里插入图片描述
垂直分库:以表为依据,根据业务将不同表拆分到不同数据库中。
1.每个库的表结构都不一样
2.每个库的数据也不一样
3.所有库的并集是全量数据

在这里插入图片描述

2.2水平拆分

在这里插入图片描述
在这里插入图片描述

3.实现技术

在这里插入图片描述

4.MyCat

======>课程
Mycat是开源的、活跃的、基于Java语言编写的Mysql数据库中间件,可以像mysql一样来使用mycat。
官网:http://www.mycat.org.cn/
MyCat下载地址:http://dl.mycat.org.cn/

在这里插入图片描述
查看服务器是否运行中
在这里插入图片描述
上传JDK以及Mycat
在这里插入图片描述
配置环境变量
vim /etc/profile

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}


if [ -x /usr/bin/id ]; then
    if [ -z "$EUID" ]; then
        # ksh workaround
        EUID=`/usr/bin/id -u`
        UID=`/usr/bin/id -ru`
    fi
    USER="`/usr/bin/id -un`"
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
fi

# Path manipulation
if [ "$EUID" = "0" ]; then
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
else
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
fi

HOSTNAME=`/usr/bin/hostname 2>/dev/null`
if [ "$HISTCONTROL" = "ignorespace" ] ; then
    export HISTCONTROL=ignoreboth
else
    export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

unset i
unset -f pathmunge

# jdk1.8
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

# Nodejs
export PATH=/usr/local/node/node-v12.16.3-linux-x64/bin:$PATH

# maven
export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
                                                                                                                                                                                                                                         34,1          Bot

安装MyCat
在这里插入图片描述
在这里插入图片描述
删除lib下低版本的mysql-conector-java-5.1.35.jar
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
对文件修改权限
在这里插入图片描述

补充

在这里插入图片描述

5.MyCat核心概述

======>MyCat核心概述
在这里插入图片描述

6. 案例

在这里插入图片描述
环境准备
在这里插入图片描述
1.检查三个服务器防火墙
防火墙都关闭是可以的,或者不关闭留有端口号
在这里插入图片描述
在这里插入图片描述
// TODO

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boy快快长大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值