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,
  int(10) unsigned NOT NULL DEFAULT '0',
  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,
  int(10) unsigned NOT NULL DEFAULT '0',
  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,
  int(10) unsigned NOT NULL DEFAULT '0',
  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,
  int(10) unsigned NOT NULL DEFAULT '0',
  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,
  INT(10) UNSIGNED NOT NULL DEFAULT '0',
  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,
  INT(10) UNSIGNED NOT NULL DEFAULT '0',
  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,
  INT(10) UNSIGNED NOT NULL DEFAULT '0',
  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. [RN] React Native 使用 react-native-vector-icons 图标显示问号

    我在第一次使用 react-native-vector-icons 时图标显示问号 后来在网上查了很多文章,发现原因有两个 1)安装完 react-native-vector-icons 后,没有li ...

  2. C#程序发送POST请求数据中+号丢失解决方案

    C#程序把RSA加密后的密码发送到后台总是校验失败,用wireshark抓包检查发现POST发出的密码中的+号都变成了空格.为了正确的发送数据,要用URL转码协议进行转码. 有两个方法进行URL转码 ...

  3. Lomok @Data使用

    看了廖师兄的Springboot视频发现很多很好玩的小工具,lombok就是其中一个.lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来 ...

  4. Linux系统学习(二)一Linux基本操作

    一.Linux的目录结构 1.1 Linux的目录结构图 1.2 目录内容 /:这就是根目录.对你的电脑来说,有且只有一个根目录.所有的东西,我是说所有的东西都是从这里开始.举个例子:当你在终端里输入 ...

  5. 第09组 Alpha冲刺(1/4)

    队名:软工9组 组长博客: https://www.cnblogs.com/cmlei/ 作业博客: 组员进度 ● 组员一(组长) 陈明磊 ​ ○过去两天完成了哪些任务 ​ ●文字/口头描述 ​ 初步 ...

  6. Learning Context Graph for Person Search

    Learning Context Graph for Person Search 2019-06-24 09:14:03 Paper:http://openaccess.thecvf.com/cont ...

  7. Jmeter命令行运行配置环境变量

    Jmeter命令行运行配置环境变量 在打开jmeter GUI界面时会弹出cmd命令窗口提示:压测时不要用GUI,要用命令行 在cmd命令行里面运行jmeter的话,需要配置jmeter环境变量,下面 ...

  8. [Angular] ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'name' of undefined

    在数据请求完成通过 ionViewDidLoad 展示页面的时候 报错误 : ERROR Error: Uncaught (in promise): TypeError: Cannot read pr ...

  9. Android 解读Event和Main Log

    1 Android P EventLogTags文件 Android P 9.0.0 所有EventLogTags文件List: system/bt/EventLogTags.logtags syst ...

  10. 【转载】 【TensorFlow】static_rnn 和dynamic_rnn的区别

    原文地址: https://blog.csdn.net/qq_20135597/article/details/88980975 ----------------------------------- ...