mysql spider配置文件_MySQL中间件Spider引擎初探

一、使用场景

1、需要做关联查询的表分布在不同的实例。这时可以安装个MariaDB,表引擎使用Spider,作为提供联表查询的中间件。

2、其它,待完善、更新……

二、中间件MariaDB安装

1、添加 MariaDB yum 仓库#vi /etc/yum.repos.d/MariaDB.repo

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.2/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

2、安装 MariaDB#yum install MariaDB-server MariaDB-client -y

3、启动数据库服务#systemctl start mariadb

4、添加自启动服务#systemctl enable mariadb

5、安全配置MariaDB#mysql_secure_installation

6、修改字符集#vi /etc/my.cnf.d/server.cnf

[mysqld]

character-set-server=utf8#systemctl restart mariadb

7、安装Spider引擎#mysql  < /usr/share/mysql/install_spider.sql

#mysql

MariaDB [(none)]> select * from information_schema.engines where engine='SPIDER';

4ee5f8c3a3a7?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

三、功能验证

1、拓扑图

4ee5f8c3a3a7?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2、准备工作

(1)、后端DB(MySQL1 and MySQL2)对MySQL Spider中间件授权grant select on *.* to spider@'10.8.3.245' identified by 'spider';

(2)、创建MySQL Spider中间件到后端DB的连接配置create server db11_account foreign data wrapper mysql options(host '10.8.2.201', database 'account', user 'spider', password 'spider', port 3306);

create server db13_activity foreign data wrapper mysql options(host '10.8.2.203', database 'activity', user 'spider', password 'spider', port 3306);

4ee5f8c3a3a7?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

3、测试跨实例联表查询

(1)、后端DB创建物理表

MySQL1建表account.test1:mysql> create table account.test1 (  id int,  username varchar(20),  address varchar(128),  primary key (id),  key (username)  ) engine=InnoDB default charset=utf8 comment 'test1';

MySQL2建表activity.test2:mysql> create table activity.test2 (  id int,  username2 varchar(20),  address2 varchar(128),  primary key (id),  key (username2)  ) engine=InnoDB default charset=utf8 comment 'test2';

(2)、MySQL Spider中间件创建远程后端DB表的连接定义

account.test1对应的表连接定义:MariaDB [db11_account]> create table test1(  id int,  username varchar(20),  address varchar(128),  primary key (id),  key (username)  ) engine=spider default charset=utf8 comment 'server "db11"';

activity.test2对应的表连接定义:MariaDB [db13_activity]> create table test2 (  id int,  username2 varchar(20),  address2 varchar(128),  primary key (id),  key (username2)  ) engine=spider default charset=utf8 comment 'server "db13"';

(3)、在后端DB插入的数据,验证在Spider中间件中是否可以查询出来

后端db11插入数据:mysql> insert into test1 values(1,'username1','sz');

后端db13插入数据:mysql> insert into test2 values(1,'username2','bj');

MySQL Spider中间件验证查询结果:

查询test1数据MariaDB [db11_account]> select * from test1;

4ee5f8c3a3a7?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

查询test2数据MariaDB [db13_activity]> select * from test2;

4ee5f8c3a3a7?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

联表查询数据MariaDB [db11_account]> select * from test1 as a left join db13_activity.test2 as b on a.id=b.id;

4ee5f8c3a3a7?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

参考资料:https://www.jianshu.com/p/b96a8c90689a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值