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