美文网首页
(十二)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