美文网首页
(十二)MySQL跨源访问Federated

(十二)MySQL跨源访问Federated

作者: 走码人 | 来源:发表于2022-02-11 08:53 被阅读0次

Federated引擎的使用

场景

两个数据源DB1和DB2,需要在DB1中访问DB2的表或视图,类似Oracle的dblink

实现过程

1-检查DB1的Federated是否开启

show engines;
20220211084621.png

如果未开启,修改DB1mysql配置信息,增加配置,默认mysql是不开启federated引擎的

#开启federated
federated

2-创建表指向DB2

CREATE TABLE `bas_code_link` (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '系统ID,唯一主键',
  `code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='基础编码分类' 
ENGINE =FEDERATED CONNECTION='mysql://用户:密码@ip地址:端口/数据库/数据库表'

注意事项

  • 用户需要有远程访问DB2的权限
  • 建表语句中需要增加语句 ENGINE =FEDERATED CONNECTION='mysql://用户:密码@ip地址:端口/数据库/数据库表'

这样就可以在DB1中直接访问DB2中的表了

相关文章

网友评论

      本文标题:(十二)MySQL跨源访问Federated

      本文链接:https://www.haomeiwen.com/subject/culakrtx.html