返回顶部
首页 > 资讯 > 数据库 >mysql跨服务查询之FEDERATED存储引擎的实现
  • 840
分享到

mysql跨服务查询之FEDERATED存储引擎的实现

mysqlFEDERATED存储引擎mysqlFEDERATED 2023-01-09 10:01:09 840人浏览 安东尼
摘要

目录一、FEDERATED存储引擎1.1、说明:1.2、局限性1.3、跨服务的方式二、开启FEDERATED存储引擎1.1、查看存储引擎三、跨服务连接示例1.1、 目标:1.2、创建关系1.3、成功效果1.4、增删改查一

一、FEDERATED存储引擎

01、从5.1.26开始,默认Mysql不启用federated存储引擎,所以需要在my.cnf中加入federated选项
02、或是在命令行用–federated选项启动mysqld。

1.1、说明:

mysql 提供了一个类似oracle中的数据库链接(DBLINK)功能的存储引擎–FEDERATED

当我们创建一个以FEDERATED为存储引擎的表时,服务器数据库目录只创建一个表定义文件。文件由表的名字开始,并有一个frm扩展名。无其它文件被创建,因为实际的数据在一个远程数据库上。这不同于为本地表工作的存储引擎的方式。

1.2、局限性

远程服务器必须是一个MySQL服务器

远程服务器必须是一个MySQL服务器。
FEDERATED对其它数据库引擎的支持可能会在将来被添加,目前不支持其他数据库,跨服务器远程其他类型数据库可以采用创建远程连接服务器的方式
FEDERATED表指向的远程表在你通过FEDERATED表访问它之前必须存在。
一个FEDERATED表指向另一个FEDERATED表是可能的,但是你必须小心不要创建一个循环。
没有对事务的支持。
如果远程表已经改变,对FEDERATED引擎而言是没有办法知道的。
a、这个的原因是因为这个表必须象数据文件一样工作,除了数据库其它任何都不会被写入。
b、如果有任何对远程数据库的改变,本地表中数据的完整性可能会被破坏。
FEDERATED存储引擎支持SELECT, INSERT, UPDATE, DELETE和索引
它不支持ALTER TABLE, DROP TABLE或任何其它的数据定义语言语句。当前的实现不使用预先准备好的语句。
执行使用SELECT, INSERT, UPDATE和DELETE,但不用HANDLER。
FEDERATED表不能对查询缓存不起作用。

目前的局限性是这些。
这些限制中的一些在FEDERATED处理机的将来版本可能被消除。

1.3、跨服务的方式

  • mysql的FEDERATED存储引擎
  • oracle的dblink
  • 创建远程连接服务器
  • 大数据的presto,接管数据源,然后聚合分析
  • fink cdc也是一种方案

二、开启FEDERATED存储引擎

1.1、查看存储引擎

  • 存在的FEDERATED存储引擎就配置文件开启
  • 不存在就安装

查看

show engines;

Support 的值有以下几个:

  • YES 支持并开启
  • DEFAULT 支持并开启, 并且为默认引擎
  • NO 不支持
  • DISABLED 支持,但未开启

如图:

在这里插入图片描述

1.1.1、不存在存储引擎-安装

federated是支持动态安装的

install plugin federated soname 'ha_federated.so';

注明:如果不行话,就重新编码安装mysql吧

1.2、开启存储引擎

在mysql的配置文件中加入federated,然后重启mysql

注意:要放在mysqld的模块下,放在其他模块下无法识别变量

如图:

在这里插入图片描述

可以登入,表示变量识别成功

在这里插入图片描述

查看存储引擎

yes表示开启成功

在这里插入图片描述

1.3、拓展mysql存储引擎对比

在这里插入图片描述

三、跨服务连接示例

FEDERATED存储引擎开启成功了

1.1、 目标:

本地mysql去链接云服务器的mysql

在这里插入图片描述

1.2、创建关系

注意:如果远程表已经改变,对FEDERATED引擎而言是没有办法知道的

要了解FEDERATED存储引擎的局限性,看本文1.2的说明
如果有任何对远程数据库的改变,本地表中数据的完整性可能会被破坏

建议:表名要见名知意,知道他是远程连接的表,就像下面的示例:link_xx_xx表

创建

-- 创建出结构一样的表,表名可以不一样
CREATE TABLE `link_yun_sys_user` (
  `id` int(50) NOT NULL,
  `username` varchar(50) DEFAULT NULL,
  `passWord` varchar(50) DEFAULT NULL,
  `update_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE = FEDERATED CONNECTioN='mysql://root:root@81.1x.2xx.10:3306/testLink/sys_user'
-- 指定引擎为 FEDERATED
-- 指定用户名、密码、ip、端口、数据库、表

如图:

在这里插入图片描述

1.2.1、权限说明

如果数据库有做权限限制,比如用户权限,增删改查权限,要进行授权,才能进行操作

1.3、成功效果

在这里插入图片描述

1.4、增删改查

本地新增1条数据

INSERT INTO link_yun_sys_user(id,username,`password`,update_time) VALUES('2','lisi','8888',NOW());

在这里插入图片描述

云服务器查看

SELECT * FROM sys_user

在这里插入图片描述

 到此这篇关于mysql跨服务查询之FEDERATED存储引擎的实现的文章就介绍到这了,更多相关mysql FEDERATED存储引擎内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: mysql跨服务查询之FEDERATED存储引擎的实现

本文链接: https://lsjlt.com/news/177125.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql跨服务查询之FEDERATED存储引擎的实现
    目录一、FEDERATED存储引擎1.1、说明:1.2、局限性1.3、跨服务的方式二、开启FEDERATED存储引擎1.1、查看存储引擎三、跨服务连接示例1.1、 目标:1.2、创建关系1.3、成功效果1.4、增删改查一...
    99+
    2023-01-09
    mysqlFEDERATED存储引擎 mysqlFEDERATED
  • MySQL存储引擎--------Federated最佳实战
    1. 背景   * 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现.   * 有点类似Oracle中的数据库链接(DBL...
    99+
    2024-04-02
  • mysql如何查询存储引擎
    这篇“mysql如何查询存储引擎”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql如...
    99+
    2024-04-02
  • 如何查询mysql的存储引擎
    这篇文章主要讲解了“如何查询mysql的存储引擎”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何查询mysql的存储引擎”吧! ...
    99+
    2024-04-02
  • 利用MySQL之federated引擎实现DBLink功能
    有时候我们需要跨库join查询,但是配置多数据源成本又太高,Oracle提供了DBLink功能,MySQL中也有类似的实现:federated-engine。 MySQL中使用federated引擎的表能够映射远程数据库的表,本...
    99+
    2014-12-02
    利用MySQL之federated引擎实现DBLink功能
  • FEDERATED存储引擎实现oracle dblink功能及弊端分别是什么
    这篇文章给大家介绍FEDERATED存储引擎实现oracle dblink功能及弊端分别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 mysql&n...
    99+
    2024-04-02
  • mysql怎么查看表的储存引擎
    1、查看mysql提供的引擎。MariaDB [(none)]> show engines; +--------------------+---------+------...
    99+
    2024-04-02
  • mysql如何查看表的存储引擎
    可以使用以下语句来查看MySQL表的存储引擎:```sqlSHOW TABLE STATUS LIKE 'table_name';`...
    99+
    2023-08-31
    mysql
  • 如何查看MySQL的当前存储引擎?
    一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看: 看你的mysql现在已提供什么存储引擎:mysql> show engines; 看你的mysql当前默认的存储引擎:mysql&...
    99+
    2024-04-02
  • 查看mysql默认存储引擎的方法
    查看mysql默认存储引擎的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!查看mysql的默认存储引擎的方法:首先执行...
    99+
    2024-04-02
  • MySQL MyISAM默认存储引擎实现原理
    默认MyISAM的表会在磁盘中产生3个文件:.frm(表结构文件)、.MYD(数据文件)、.MYI(索引文件)   可以在创建的时候指定数据文件和索引文件的存储位置,只有MyISAM表支持:     DATA ...
    99+
    2022-05-28
    My ISAM 存储 引擎 MySQL
  • MySQL 存储引擎 - InnoDB 实现原理介绍
    存储结构   内存结构 内存结构主要包括 Buffer Pool、Change Buffer、Adaptive Hash Index和 Log Buffer 四大组件 Buffer Pool 缓冲池,简称BP。BP以 Page 页为单位,...
    99+
    2023-10-04
    mysql 数据库
  • MySQL之MyISAM存储引擎的非聚簇索引详解
    在InnoDB中索引即数据,也就是聚簇索引的那颗B+树的叶子节点中已经包含了所有完整的用户记录。MyISAM的索引方案虽然也是使用树形结构,但是却将索引和数据分开存储,这种索引也叫非...
    99+
    2024-04-02
  • MySQL学习(七):Innodb存储引擎索引的实现原理
    概述 在数据库当中,索引就跟树的目录一样用来加快数据的查找速度,对于一个SQL查询操作,根据索引快速过滤掉不符合要求的数据并定位到符合要求的数据,从而不需要扫描整个表来获取所需的数据。在innodb存储引擎...
    99+
    2024-04-02
  • mysql存储引擎之间的区别有哪些
    这篇文章主要讲解了“mysql存储引擎之间的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql存储引擎之间的区别有哪些”吧! ...
    99+
    2024-04-02
  • mysql事务与存储引擎实例分析
    这篇文章主要介绍了mysql事务与存储引擎实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql事务与存储引擎实例分析文章都会有所收获,下面我们一起来看看吧。一、MySQL事务1、事务的概念(1)事务...
    99+
    2023-06-30
  • MySQL跨服务器关联查询的实现
    1. 首先确认服务器的Federated引擎是否开启 show engines; 2. 如果Federated 未开启,则需要开启 到mysql的my.cnf配置文件中修改在 [mysqld] 下方加入 federat...
    99+
    2023-01-05
    MySQL跨服务器关联查询 MySQL关联查询
  • 什么是存储引擎以及如何查看MySQL安装支持的存储引擎列表?
    它可以被定义为数据库管理系统(DBMS)用来处理不同的SQL操作(如创建、读取、更新和删除数据库中的数据)的软件组件。换句话说,它被DBMS用来管理数据库中的信息。最常用的存储引擎是InnoDB,它也是MySQL5.5及更高版本的默认存储引...
    99+
    2023-10-22
  • 查看mysql中表存储引擎类型的方法
    查看mysql中表存储引擎类型的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!查看mysql中表的存储引擎类型的方法:...
    99+
    2024-04-02
  • Mysql Innodb存储引擎之索引与算法的示例分析
    这篇文章将为大家详细讲解有关Mysql Innodb存储引擎之索引与算法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、概述索引太少,查询效率低;索引太多程序性能受到影响,索引的使用...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作