1.spider 安装

1.1.MariaDB 安装

1.1.1 下载MariaDB wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.3.16/bintar-linux-x86_64/mariadb-10.3.16-linux-x86_64.tar.gz

https://mariadb.com/downloads/

1.1.2 解压安装

[root@localhost:/usr/local]#tar -zxvf mariadb-10.3.16-linux-x86_64.tar.gz -C /usr/local/
[root@localhost:/usr/local]#ln -s mariadb-10.3.16-linux-x86_64 mariadb
[root@localhost:/usr/local]#cd mariadb
[root@localhost:/usr/local/mariadb]#cp /etc/my.cnf /etc/my_3320.cnf ####生成my.cnf文件 与原生mysql差不多,有个别参数不存在。
[root@localhost:/usr/local/mariadb]#./scripts/mysql_install_db  --defaults-file=/etc/my_3320.cnf --basedir=/usr/local/mariadb/
[root@localhost:/usr/local/mariadb]#chown -R mysql:mysql /data/mysql_3320/
[root@localhost:/usr/local/mariadb]#/usr/local/mariadb-10.3.16-linux-x86_64/bin/mysqld_safe --defaults-file=/etc/my_3320.cnf &

1.2.安装spider 引擎

[root@localhost:/usr/local/mariadb]#mysql -uroot -p < /usr/local/mariadb/share/install_spider.sql
root@localhost 19:46: [(none)]> select * from information_schema.engines where engine='SPIDER';

2.spider的使用实战

2.1 创建spider引擎表方法1

#mysql node1
CREATE TABLE s(
id INT NOT NULL AUTO_INCREMENT,
code VARCHAR(10),
PRIMARY KEY(id));
 
#spider node
CREATE TABLE s(
id INT NOT NULL AUTO_INCREMENT,
code VARCHAR(10),
PRIMARY KEY(id)
)
ENGINE=SPIDER COMMENT 'host "10.204.10.20", user "work", password "123456", port "3306", database "lucky_order"';

2.2 创建spider引擎表方法2

#创建spider到后端DB server的配置
CREATE SERVER lucky_test1 FOREIGN DATA WRAPPER mysql OPTIONS (
  HOST '10.212.22.22',
  DATABASE 'lucky_test1',
  USER 'admintools',
  PASSWORD '111111',
  PORT 3306
);
CREATE SERVER lucky_test2 FOREIGN DATA WRAPPER mysql OPTIONS (
  HOST '10.204.28.1',
  DATABASE 'lucky_test2',
  USER 'admintools',
  PASSWORD '111111',
  PORT 3336
);
或者直接插入mysql.servers表
INSERT INTO mysql.servers(Server_name,HOST,Db,Username,PASSWORD,PORT,SOCKET,WRAPPER,OWNER)
VALUES ('lucky_test1','10.212.22.22','lucky_test1','work','111111',3306,'','mysql','');
 
INSERT INTO mysql.servers(Server_name,HOST,Db,Username,PASSWORD,PORT,SOCKET,WRAPPER,OWNER)
VALUES ('lucky_test2','10.204.55.72','lucky_test2','work','111111',3306,'','mysql','');
 
#mysql node1
CREATE TABLE lucky_test1.sbtest1 (
  id int(10) unsigned NOT NULL AUTO_INCREMENT,
  k int(10) unsigned NOT NULL DEFAULT '0',
  c char(120) NOT NULL DEFAULT '',
  pad char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY k (k)
) ENGINE=InnoDB;
 
 
#mysql node2
CREATE TABLE lucky_test2.sbtest2 (
  id int(10) unsigned NOT NULL AUTO_INCREMENT,
  k int(10) unsigned NOT NULL DEFAULT '0',
  c char(120) NOT NULL DEFAULT '',
  pad char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY k (k)
) ENGINE=InnoDB;
 
 
#spider node
CREATE  TABLE test.sbtest1
(
  id int(10) unsigned NOT NULL AUTO_INCREMENT,
  k int(10) unsigned NOT NULL DEFAULT '0',
  c char(120) NOT NULL DEFAULT '',
  pad char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY k (k)
) ENGINE=spider COMMENT='wrapper "mysql",srv "lucky_test1"';
CREATE  TABLE test.sbtest2
(
  id int(10) unsigned NOT NULL AUTO_INCREMENT,
  k int(10) unsigned NOT NULL DEFAULT '0',
  c char(120) NOT NULL DEFAULT '',
  pad char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY k (k)
) ENGINE=spider COMMENT='wrapper "mysql",srv "lucky_test2"';
 
SELECT * FROM sbtest1 a JOIN sbtest2 b ON a.id=b.id LIMIT 10;
 
 
DROP SERVER lucky_test0;
DROP TABLE test.sbtest1; drop spider上的表,不会drop后端DB server上的表。

2.3 创建hash分区表

CREATE TABLE sbtest (
  id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  k INT(10) UNSIGNED NOT NULL DEFAULT '0',
  c CHAR(120) NOT NULL DEFAULT '',
  pad CHAR(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY k (k)
) ENGINE=SPIDER DEFAULT CHARSET=utf8 COMMENT='wrapper "mysql", table "sbtest1"'
PARTITION BY HASH (id)
( PARTITION pt1 COMMENT='wrapper "mysql",srv "lucky_test1"',
PARTITION pt2 COMMENT='wrapper "mysql",srv "lucky_test0"') ;

2.4 创建range分区表

CREATE TABLE sbtest_range (
  id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  k INT(10) UNSIGNED NOT NULL DEFAULT '0',
  c CHAR(120) NOT NULL DEFAULT '',
  pad CHAR(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY k (k)
) ENGINE=SPIDER DEFAULT CHARSET=utf8 COMMENT='wrapper "mysql", table "sbtest1"'
PARTITION BY range columns (id)
( PARTITION pt1 values less than (100000)  COMMENT='wrapper "mysql",srv "lucky_test1"',
PARTITION pt2 values less than (200000) COMMENT='wrapper "mysql",srv "lucky_test0"') ;

2.5 创建list分区表

CREATE TABLE sbtest_list (
  id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  k INT(10) UNSIGNED NOT NULL DEFAULT '0',
  c CHAR(120) NOT NULL DEFAULT '',
  pad CHAR(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY k (k)
) ENGINE=SPIDER DEFAULT CHARSET=utf8 COMMENT='wrapper "mysql", table "sbtest1"'
PARTITION BY list columns (id)
( PARTITION pt1 values in (1,3,5,7,9)  COMMENT='wrapper "mysql",srv "lucky_test1"',
PARTITION pt2 values in (2,4,6,8,10) COMMENT='wrapper "mysql",srv "lucky_test0"') ;
 

spider存储引擎的更多相关文章

  1. MySQL存储引擎之Spider内核深度解析

      作者介绍 朱阅岸,中国人民大学博士,现供职于腾讯云数据库团队.研究方向主要为数据库系统理论与实现.新硬件平台下的数据库系统以及TP+AP型混合系统. Spider是为MySQL/MariaDB开发 ...

  2. 【转】MySQL 数据库存储引擎

    原文地址:http://blog.jobbole.com/94385/ 简单介绍 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是MySQl的特点,而且是一个插入 ...

  3. 初识MariaDB存储引擎

    在看MariaDB的存储引擎之前,可以先了解MySQL存储引擎. MySQL常用的存储引擎: MyISAM存储引擎:是MySQL的默认存储引擎.MyISAM不支持事务.也不支持外键,但其访问速度快,对 ...

  4. MySQL 数据库存储引擎

    简单介绍 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是MySQl的特点,而且是一个插入式的存储引擎概念.这就决定了MySQl数据库中的表可以使用不同的存储方式 ...

  5. (转)Mysql数据库存储引擎

    什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合.     我们通常说的MySql数据库,sql server数据库等 ...

  6. MySQL存储引擎对比

    MySQL存储引擎对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的存储引擎 大家应该知道MySQL的存储引擎应该是表级别的概念,因为我们无法再创建databas ...

  7. MariaDB快速选择最适合您的需要的存储引擎

    1.Xtradb和InnoDB是一个很好的通用事物存储引擎.通常不确定选用何种存储引擎时,Xtradb和InnoDB是最佳的选择. 2.MyISAM和Aria,占用空间小,系统之间容易复制.MyISA ...

  8. Mysql数据库存储引擎--转

    原文地址:http://pangge.blog.51cto.com/6013757/1303893 简单介绍 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是My ...

  9. mysql基础之-mysql存储引擎概述(八)

    0x01 mysql 存储引擎:存储引擎也通常被称作“表类型” mysql> show engines;   --- 查看当前所有所支持的存储引擎 mysql> show table st ...

随机推荐

  1. 66、Spark Streaming:数据处理原理剖析与源码分析(block与batch关系透彻解析)

    一.数据处理原理剖析 每隔我们设置的batch interval 的time,就去找ReceiverTracker,将其中的,从上次划分batch的时间,到目前为止的这个batch interval ...

  2. Android入门教程(一)

    Android是什么? Android是基于Linux开发性内核的操作系统,该平台由操作系统,中间件,用户界面和应用软件组成.Android的基本信息:软件类型,APK,发行商:Google,最早版本 ...

  3. mysql 获取数学成绩最高以及最低的同学

    mysql> select * from test; +----+----------+-------+-----------+ | id | name | score | subject | ...

  4. Tcl数学运算

    expr 数学表达式 Tcl支持的数学操作符(优先级按照从高到低): -一元负号 +一元正号 ~按位取反 !逻辑非 *乘 /除 %取余 +加号 -减号 <<左移位 >>右移位 ...

  5. webpack构建篇

    WEBPack 构建  --  基于webpack4 1.环境准备 NodeJs: 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.其使用了一个事件驱动.非阻塞式 I/O 的模 ...

  6. if, if/else, if /elif/else,case

    一.if语句用法 if expression then command fi 例子:使用整数比较运算符 read -p "please input a integer:" a if ...

  7. uniapp - 如何申请阿里云存储

    长话短说,简略表述 1. 登录阿里云,选择 oos对象云存储 https://oss.console.aliyun.com/overview 2. 新建“Bucket”,名称是唯一的(建议用公司或者个 ...

  8. phpstudy5.6 No input file specified的解决方法

    一.问题描述 5.6就提示这个错误,切换5.5就可以 二.原因分析 原因1:提示:“No input file specified.”原因在于使用的PHP5.6是fast_cgi模式,而在某些情况下, ...

  9. JS高级:面向对象解析

    1 实例属性/方法 都是绑定在使用构造函数创建出来的对象p上; 最终使用的时候也是使用对象p来进行访问; function Person(name, age, doFunc) { this.name ...

  10. matlab学习笔记10 一般运算符

    一起来学matlab-matlab学习笔记10 10_1一般运算符 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等著 感谢张 ...