mysql 分库分表mycat部署

垂直分割
• 纵向切分
– 把单一的表,拆分成多个表,并分散到不同的数据库
( 主机 ) 上。
– 一个数据库由多个表构成,每个表对应不同的业务,
可以按照业务对表进行分类,将其分布到不同的数据
库 ( 主机 ) 上,实现专库专用,让不同的库 ( 主机 ) 分
担不同的业务

水平分割
• 横向切分
– 按照表中某个字段的某种规则,把向表中写入的记录
分散到多个库 ( 主机 ) 中。
– 简单来说,就是按照数据行切分,将表中的某些行存
储到指定的数据库 ( 主机 ) 中。
分片规则
• mycat 服务提供 10 种分片规则。
– 1 枚举法 sharding-by-intfile
– 2 固定分片 rule1
– 3 范围约定 auto-sharding-long
– 4 求模法 mod-long
– 5 日期列分区法 sharding-by-date
– 6 通配取模 sharding-by-pattern
– 7ASCII 码求模通配 sharding-by-prefixpattern
– 8 编程指定 sharding-by-substring
– 9 字符串拆分 hash 解析 sharding-by-stringhash
– 10 一致性 hash sharding-by-murmur
配置 mysqlcat 服务器
解压mysqlcat包到/usr/local/mycat
修改配置文件 server.xml
# 连接 mycat 服务时使用的用户名 test
test # 使用
test 用户连接 mycat 用户时使用的密码
TESTDB # 连
接上 mycat 服务后,可以看到的库名多个时,使用逗号分隔 (是逻辑
上的库名)


user
TESTDB
true # 定义只
读权限,使用定义的 user 用户连接 mycat 服务后只有读记录的权限
修改schema.xml 定义分片信息

开启服务

在客户机myql -P8066登陆

分片算法
• 每种分片规则对应一种算法。
– 1 枚举法 sharding-by-intfile -> hash-int
– 2 固定分片 rule1 -> func1
– 3 范围约定 auto-sharding-long -> rang-long
– 4 求模法 mod-long -> mod-long
– 5 日期列分区法 sharding-by-date ->sharding-by-date分片算法(续 1 )
• 每种分片规则对应一种算法
– 6 通配取模 sharding-by-pattern -> sharding-by-patter
n
– 7ASCII 码求模通配 sharding-by-prefixpattern
-> sharding-by-prefixpattern
– 8 编程指定 sharding-by-substring -> sharding-by-sub
string
– 9 字符串拆分 hash 解析 sharding-by-stringhash ->shar
ding-by-stringhash
– 10 一致性 hash sharding-by-murmur ->murmur

猜你喜欢

转载自blog.csdn.net/weixin_42825965/article/details/82528496