MySQL Federated 联邦引擎连接 OLAP 数据库使用案例

背景

近日遇到需要将 OLAP 数据库导入数据平台的场景,数据平台支持添加 MySQL 的数据源,OLAP 数据库也支持 MySQL 协议,在数据平台添加 OLAP 的数据源后,遇到读取不到的表情形,与相关同学确认后,主要为读取 information_schema 的 TABLE 及 COLUMNS 遇到错误或不匹配的问题

解决方案

MySQL 支持 Federated 引擎连接外部数据源,使用 Federated 引擎连接 OLAP 数据库
具体步骤示例:

启用 Federated Plugin

[mysqld]
# 启用 Federated Plugin
federated

# 查询外部数据源可能时间较长,设置较长的超时时间(单位:秒)
net_read_timeout = 86400

然后重启 MySQL 服务

配置外部数据源

# 在 MySQL 终端执行

# 创建外部数据源
CREATE SERVER remote_olap_db
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'sqoop', PASSWORD '123456', HOST 'example.com', PORT 3306, DATABASE 'demo');

# 删除外部数据源
# DROP SERVER remote_olap_db;

# 查看创建的外部数据源
 SELECT * FROM mysql.servers;

创建映射表

# 在 MySQL 终端执行

# 创建本地数据库
CREATE DATABASE testdb;

# 切换至本地数据库
use testdb;

# 创建本地映射表
CREATE TABLE test_table (
`user_id` bigint,
`country` varchar(120)
) ENGINE=FEDERATED CONNECTION='remote_olap_db/demo_table';

# 查询验证
# 注:可能会遇到中文乱码问题,本地创建映射表时可以尝试去除指定字符集试试
SELECT * FROM test_table;

拓扑图

MySQL Federated Plugin

参考

  • https://blog.csdn.net/hzqghost/article/details/130219369
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈塘关百姓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值