mycat数据分片
Posted 思科CCIE训练营
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mycat数据分片相关的知识,希望对你有一定的参考价值。
准备四台主机,搭建mycat分片服务器,通过某种特定条件,将存放在一个数据库(主机)中的数据,分散存放到多个数据库(主机)中,已达到分散单台设备负载的效果。其中192.168.4.56作为mycat服务器,192.168.4.54和192.168.4.55作为数据库服务器,192.168.4.254作为客户端。
步骤一:
部署数据库服务器c1
1)在c1主机创建数据库db1,并创建授权用户
[ root@c1~] # mysql - u root - p123456
my sql> create database db1;
Query OK, 1row affected ( 0.00 sec)
2)创建授权用户
my sql> grant all on *.* to admin@"%" identified by "123456";
Query OK, 0 rows affected, 1warning ( 0.00 sec)
3)修改数据库配置文件
[ root@c1~] # vim /etc/my .cnf
[ mysqld]
lower_case_table_names=1 //不区分表名大小写
4)重启数据库服务
[ root@c1~] # systemctl restart mysqld
步骤二:
部署数据库服务器c2
1)在c2主机创建数据库db2,并创建授权用户
[ root@c2 ~] # mysql - u root - p123456
my sql> create database db2;
Query OK, 1row affected ( 0.00 sec)
2)创建授权用户
my sql> grant all on *.* to admin@"%" identified by "123456";
Query OK, 0 rows affected, 1warning ( 0.00 sec)
3)修改数据库配置文件
[ root@c2~] # vim /etc/my .cnf
[ mysqld]
lower_case_table_names=1 //不区分表名大小写
4)重启数据库服务
[ root@c2~] # systemctl restart mysqld
步骤三:
部署mycat服务器
1)mycat主机安装JDK,如果系统已经自带安装可忽略
[ root@mycat ~] # y um - y install java- 1.8.0- openjdk
[ root@mycat ~] # rpm - qa | grep - i jdk
java- 1.8.0- openjdk- 1.8.0.131- 11.b12.el7.x86_64
java- 1.8.0- openjdk- headless- 1.8.0.131- 11.b12.el7.x86_64
copy - jdk- configs- 2.2- 3.el7.noarch
2)安装mycat服务,本案中例软件包以提前下载好
[ root@mycat my sql] # tar - xf Mycat- server-1.4-beta-20150604171601-linux.tar.gz
[ root@mycat my sql] # mv mycat/ /usr/local/ //移动工作目录
[ root@mycat my sql] # cd /usr/local/mycat/conf //进入配置文件路径
3)修改配置文件
[ root@mycat conf] # vim server.xml
</system>
4) 修改schema.xml配置文件
[ root@my cat conf] # vim schema.xml
<table name="travelrecord" dataNode="dn1,dn2" rule="auto-sharding-long" />
//travelrecord表分片到数据节点dn1和dn2
<table name="company" primary Key="ID" type="global" dataNode="dn1,dn2" />
<table name="hostnews" primary Key="ID" dataNode="dn1,dn2" rule="mod-long" />
5)添加PATH路径
[ root@mycat conf] # export PATH=/usr/local/mycat/bin:$PATH
[ root@mycat conf] # echo "PATH=/usr/local/mycat/bin:$PATH" >> /etc/profile
[ root@mycat conf] # source /etc/profile
[ root@mycat conf] # which mycat
/usr/local/mycat/bin/mycat
6)启动服务查看端口
[ root@mycat conf] # mycat start
Starting Mycat- server...
[ root@mycat conf] # netstat - antup | grep :8066
tcp6 0 0 :::8066 :::* LISTEN 6421/java
7)更新加载的模块
[ root@my cat conf] # ldconfig - v
步骤四:
客户端访问
[ root@clent ~] # mysql - h192.168.4.56 - P8066 - utest - ptest
mysql> show databases;
mysql> USE TESTDB;
mysql> create table employee( id int not null primary key ,name varchar( 100) ,sharding_id int not
my sql> insert into employee( id,name,sharding_id) values( 1,"bob",10000) ;
my sql> insert into employee( id,name,sharding_id) values( 1,"lucy ",10010) ;
my sql> select * from employee;
步骤五:
在c1上面查看结果
mysql> show databases;
mysql> use db1;
mysql> show tables;
my sql> select * from employee; //查看结果
步骤六:
在c2上面查看结果
mysql> show databases;
mysql> use db2;
mysql> show tables;
mysql> select * from employee;
PSSH
为方便五湖四海的Linux爱好者共同
学(吹)习(牛)讨(打)论(趣)
群内定时上传资料还有老师全天答疑
入群即可免费获得
1、必备工具源码包
2、内部精选电子书
3、运维资料大礼包
欲知更多福利,欢迎你的加入
更多精彩内容“阅读原文”
右边给我一朵小花花
以上是关于mycat数据分片的主要内容,如果未能解决你的问题,请参考以下文章