由于需要大量的mysql 存储后端 支持在线扩容 数据分布。
发现mysql 的spider 存储引擎不错。日本人写的。。
重点是发现spider分区是依赖id 必须是整形
准备3台服务器 一个是管理 两个是存储
装备软件:
mysql-5.5.14-spider-2.28-vp-0.17-hs-1.1-q4m-0.95-linux-x86_64-glibc25.tgz
spider-init-2.28-for-5.5.14.tgz
在A服务器上安装这两个软件就好了。。
在B和C服务器上正常安装mysql-server
讲解在A服务器的安装
解压这个文件mysql-5.5.14-spider-2.28-vp-0.17-hs-1.1-q4m-0.95-linux-x86_64-glibc25.tgz 到/usr/local/mysql 中
cp support-files/mysql.server /etc/init.d/mysqld
cp support-files/my-small.cnf /etc/my.cnf
注意修改/etc/init.d/mysqld 的环境路径
做好权限 启动mysql
tar xvf spider-init-2.28-for-5.5.14.tgz
进入到mysql 中 source spider_init.sql;
show engine;
看看spider存储引擎在不
在b c 上建立 test.laird 表
id name age
就这个3个列吧
开启root的远程访问权限 (只是测试用)
在a服务器中建表
use test;
create table laird(id int(12),name char(12),age int(3) )ENGINE=Spider Connection ‘ table “laird”, user “root”, password “laird” ‘ partition by range(id) (partition pt1 values less than (5000) comment ‘host “Bserver ip”, port “3306″‘,partition pt2 values less than (maxvalue) comment ‘host “Cserver ip”, port “3306″‘);
这样就行了。。 对A服务器的test.laird 写 其实是写到Bserver 上 ,写到5000 行数据的时候就会写Cserver 上 看到C的数据比较大了。。。可以直接修改表结构就可以在线扩容 很快的。。。但是一定要记住最后的id是多少 + 一个比较小的id值 如最后的id 是100000了。。。那在修改表结构的时候100000 + 10;这样就没有数据丢失 ,