9 - 数据分片概述|部署MyCat服务|测试配置

数据分片概述|部署MyCat服务|测试配置

  • 数据分片概述
    • 分库分表分割方式
      • 水平分割(横向切分)
      • 垂直分割(纵向切分)
    • 提供分库分表存储服务软件(中间件)MyCAT软件
    • 分片服务器的工作过程
  • 部署MyCat服务
    • 第一步 安装软件
    • 第二步 了解安装目录文件列表
    • 第三步 修改配置文件
    • 第四步 配置数据库服务器
    • 排错
    • 第六步 分片规则的使用
    • 第七步 添加新库新表
  • 测试配置

数据分片概述

将存放在一台数据库服务器中的数据,按照特定的方式进行拆分,分散存放到多台数据库服务器中,以达到分散单台服务器的负载的效果

分库分表分割方式

水平分割(横向切分)

按照表中指定的字段的分片规则,将表记录按行切分,分散存储到多个数据库中

垂直分割(纵向切分)

单个库的多个表按业务类型分类,分散存储到不同的数据库
9 - 数据分片概述|部署MyCat服务|测试配置_第1张图片

提供分库分表存储服务软件(中间件)MyCAT软件

基于java的分布式数据库系统中间件,为高并发环境的分布式存储提供解决方案

  • 适合大量写入的存储需求
  • 支持Mysql、Oracle
  • 提供数据读写分离服务
  • 提供数据分片服务
    分片规则
    9 - 数据分片概述|部署MyCat服务|测试配置_第2张图片

分片服务器的工作过程

9 - 数据分片概述|部署MyCat服务|测试配置_第3张图片
9 - 数据分片概述|部署MyCat服务|测试配置_第4张图片

部署MyCat服务

重新创建3台数据库服务器 ip地址 53、54、55
56主机不需要运行数据库服务。使用50主机做客户端
9 - 数据分片概述|部署MyCat服务|测试配置_第5张图片

第一步 安装软件

# JDK一定要和mycat版本一致
yum -y install java-1.8.0-openjdk.x86_64
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710.. # 免安装 解压即可使用
mv mycat /usr/local/
ls /usr/local/mycat/
	bin catlet conf lib logs version.txt

第二步 了解安装目录文件列表

  • bin mycat命令
  • catlet 扩展功能
  • conf 配置文件 .txt 和 …properties 结尾的是分片规则配置文件 .xml结尾的是mycat服务配置文件
  • lib mycat使用的jar包
  • logs mycat启动日志和运行日志
  • version.txt mycat软件

第三步 修改配置文件

xml 扩展标记语言 的特点 : 标签要成对出现 要有开始和结束(分为单标签和双标签)
注释符号:

# 首先定义客户端连接mycat 使用的用户名、密码机虚拟库名
vim /usr/local/mycat/conf/server.xml	

9 - 数据分片概述|部署MyCat服务|测试配置_第6张图片

# 定义分片存储数据的表
sed -i '56,77d' /usr/local/mycat/conf/schema.xml # 删掉注释的行
sed -i '39,42d' /usr/local/mycat/conf/schema.xml # 删掉注释的行
vim /usr/local/mycat/conf/schema.xml
<mycat:schema>
	# 定义库下表名
	<schema>
		<table /># 定义表名 单标签
		<table>
		</table> # 双标签
	</schema>
	# 指定数据库服务器主机名
	<dataNode .../> # 有几个服务器写几个
 	# 指定服务器的ip地址
 	<dataHost>...</dataHost>
</mycat:schema>

9 - 数据分片概述|部署MyCat服务|测试配置_第7张图片
节点 dataNode 加上第三台服务器 dn3
9 - 数据分片概述|部署MyCat服务|测试配置_第8张图片
9 - 数据分片概述|部署MyCat服务|测试配置_第9张图片
9 - 数据分片概述|部署MyCat服务|测试配置_第10张图片
复制两个 搞三个
用户名 密码都得改一下
9 - 数据分片概述|部署MyCat服务|测试配置_第11张图片

第四步 配置数据库服务器

9 - 数据分片概述|部署MyCat服务|测试配置_第12张图片

第五步 启动mycat服务,并查看服务状态
把56主机的物理内存调大到1G以上
给mycat服务器定义主机名 (hostname mycat56)不要用localhost
测试数据库服务器的授权用户
启动mycat服务

/usr/local/mycat/bin/mycat start

9 - 数据分片概述|部署MyCat服务|测试配置_第13张图片

排错

方法 :查看mycat服务的日志文件

]# ls /usr/local/mycat/logs/
mycat.log  记录连接mysql服务信息文件
mycat.pid 保存mycat服务进程的pid号
wrapper.log 记录服务的启动信息(排错的日志内容)

# 在第一个终端动态查看日志内容 tail -f /usr/local/mycat/logs/wrapper.log # 动态显示启动信息

第六步 分片规则的使用

第一个是 枚举分片规则的使用 sharding-by-intfile
工作过程 字段值 必须在列举范围内选择
9 - 数据分片概述|部署MyCat服务|测试配置_第14张图片

9 - 数据分片概述|部署MyCat服务|测试配置_第15张图片

第二个是 求莫法分片规则的使用 mod-long
工作过程:根据字段值与设定的数值求模结果存储数据
9 - 数据分片概述|部署MyCat服务|测试配置_第16张图片
在这里插入图片描述
9 - 数据分片概述|部署MyCat服务|测试配置_第17张图片

建表存储数据的步骤
连接mycat服务器

host50 ~]# mysql -h192.168.4.56 -P8066 -uroot -p123456
mysql> show dababase;

9 - 数据分片概述|部署MyCat服务|测试配置_第18张图片
都是假表 需要自己建表
9 - 数据分片概述|部署MyCat服务|测试配置_第19张图片

创建表:根据表使用的分片规则建表
9 - 数据分片概述|部署MyCat服务|测试配置_第20张图片

第七步 添加新库新表

在56主机添加新库 GAMEDB 新表名 user和salary
在schema.xml文件里 表名必须唯一 不可以重复
9 - 数据分片概述|部署MyCat服务|测试配置_第21张图片

9 - 数据分片概述|部署MyCat服务|测试配置_第22张图片

测试配置

你可能感兴趣的:(数据库,mysql,数据库)