FEDERATED是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件

MySQL中针对不同的功能需求提供了不同的存储引擎。所谓的存储引擎也就是MySQL下特定接口的具体实现。

FEDERATED是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库目录中生成相应的表定义文件,并同时生成相应的数据文件。

但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中(这一点很重要)。

通过这个引擎可以实现类似Oracle 下DBLINK的远程数据访问功能。

使用show engines 命令查看数据库是否已支持FEDERATED引擎:

Support 的值有以下几个:

YES

支持并开启

DEFAULT

支持并开启, 并且为默认引擎

NO

不支持

DISABLED

支持,但未开启

可以看出MyISAM为当前默认的引擎。

使用FEDERATED建表语句如下:

CREATE TABLE (......) ENGINE =FEDERATED CONNECTION='mysql://[name]:[pass]@[location]:[port]/[db-name]/[table-name]'

创建成功后就可直接在本地查询相应的远程表了。

需要注意的几点:

1. 本地的表结构必须与远程的完全一样。

2.远程数据库目前仅限MySQL

3.不支持事务

4.不支持表结构修改

以下是补充:

参考一下在windows下的解决办法,在my.cnf中增加一行

federated

重启mysql服务后,

mysql> show engines;

Federated存储引擎可以使你在本地数据库中访问远程数据库中的数据,针对federated存储引擎表的查询会被发送到远程数据库的表上执行,本地是不存储任何数据的。

简要介绍后,是不是发现它和Oracle的database link(数据库链接)非常相似,它所实现的功能和db link类似,要在MySQL下找寻db link替代品的,federated存储引擎是不二的选择。

1.   查看当前支持的存储引擎

SQL>show engines;

+------------+---------+------------------------------------------------------------+--------------+------+------------+

| Engine     | Support | Comment                                                    | Transactions | XA   | Savepoints |

+------------+---------+------------------------------------------------------------+--------------+------+------------+

| CSV        | YES     | CSV storage engine                                         | NO           | NO   | NO         |

| MRG_MYISAM | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |

| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |

| InnoDB     | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |

| MyISAM     | YES     | Default engine as of MySQL 3.23 with great performance     | NO           | NO   | NO         |

+------------+---------+------------------------------------------------------------+--------------+------+------------+

5 rows in set (0.00 sec)

发现安装MySQL时没有编译进来,只能现安装了。

2.   安装federated存储引擎

由于编译时没有选择federated,所以打算通过INSTALL PLUGIN的方式安装,正常情况下,federated是支持动态安装的:

=== Federated Storage Engine ===

Plugin Name:      federated

Description:      Connects to tables on remote MySQL servers

Supports build:   static and dynamic

Configurations:   max, max-no-ndb

可是执行以下命令时报错:

SQL>install plugin federated soname 'ha_federated.so';

ERROR 1126 (HY000): Can't open shared library '/usr/local/mysql/lib/mysql/plugin/ha_federated.so' (errno: 2 undefined symbol: dynstr_append_mem)

搜了一下,发现是个老问题,竟然到现在都没解决,可见MySQL团队的效率和管理的混乱。http://bugs.mysql.com/bug.php?id=40942

没有办法了,只有重新编译MySQL源码了, 加上--with-plugins=federated。从5.1.26开始,默认MySQL不启用federated存储引擎,所以需要在my.cnf中加入federated选项或是在命令行用--federated选项启动mysqld。编译后的结果如下:

SQL>show engines;

+------------+---------+----------------------------------------------------------------------------+--------------+------+------------+

| Engine     | Support | Comment                                                                    | Transactions | XA   | Savepoints |

+------------+---------+----------------------------------------------------------------------------+--------------+------+------------+

| CSV        | YES     | CSV storage engine                                                         | NO           | NO   | NO         |

| MRG_MYISAM | YES     | Collection of identical MyISAM tables                                      | NO           | NO   | NO         |

| FEDERATED  | YES     | Federated MySQL storage engine                                             | NO           | NO   | NO         |

| MyISAM     | YES     | Default engine as of MySQL 3.23 with great performance                     | NO           | NO   | NO         |

| InnoDB     | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |

| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables                  | NO           | NO   | NO         |

+------------+---------+----------------------------------------------------------------------------+--------------+------+------------+

6 rows in set (0.00 sec)

至此,我们已经可以使用federated存储引擎了。

mysql federated_Mysql 开启Federated引擎的方法相关推荐

  1. mysql 5.6 federated_Mysql 开启Federated引擎以及使用

    FEDERATED是其中一个专门针对远程数据库的实现.但通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中 通过这个引擎可以实现类似Oracle 下DBLINK的远 ...

  2. mysql federated_mysql添加Federated引擎问题

    现在我有这么一个需求, 就是有两个项目, 一个叫项目A,一个项目B, 由于A的用户表和B的用户表是要实现一样的. 例如: 我在A项目中注册了,要实现在B项目中也能登录, 当用到B的时候, 由于B数据库 ...

  3. Linux mysql federated_MySQL的FEDERATED引擎实现类Oracle的DBlink

    随着业务的复杂度不断的增加.数据库不断的切分,在分布式系统中往往一台或几台数据库并不能满足我们的需求,所以常常需要多台同时时用,而在平时需要通过其它服务器的数据库获取信息最为方便的就是数据链接,而比较 ...

  4. MySQL开启federated引擎实现数据库表映射

    1.查看federated引擎是否开启 点击进入Navicat并点击键盘上F6,出现命令行界面 ,输入指令:show engines; 2.开启federated引擎 Windows系统 : 在my. ...

  5. MySql数据同步FEDERATED引擎

    概要:FEDERATED存储引擎访问在远程数据库的表中的数据,而不是本地的表.这个特性给某些开发应用带来了便利,你可以直接在本地构建一个federated表来连接远程数据表,配置好了之后本地表的数据可 ...

  6. mysql federated 效率,MySQL中的FEDERATED引擎

    MySQL中的FEDERATED引擎 MySQL中的FEDERATED引擎 MySQL中的FEDERATED引擎 首先说明> FEDERATED存储引擎访问在远程数据库的表中的数据,而不是本地的 ...

  7. mysql federated5.7_MySQL下FEDERATED引擎的开启和使用

    在实际工作中,我们可能会遇到需要操作其他数据库实例的部分表,但又不想系统连接多库.此时我们就需要用到数据表映射.如同Oracle中的DBlink一般,使用过Oracle DBlink数据库链接的人都知 ...

  8. mysql跨节点join——federated引擎

    一. 什么是federated引擎 mysql中的federated类似于oracle中的dblink. federated是一个专门针对远程数据库的实现,一般情况下在本地数据库中建表会在数据库目录中 ...

  9. MySQL 远程跨库查询 FEDERATED引擎

    场景:最近写了个供应链控制塔的需求,简单来说就是用户可以自定义一些指标值,当某些货物返单或回货的某个环节不在这个指标值的范围内就告警,数据源来是由供应链那边提供的MySQL数据库,而用户自定义的指标值 ...

最新文章

  1. split join append
  2. [转]深入理解 __doPostBack
  3. c# string 转 datetime_C#判断语句详解(if、if-else、switch-case、三目/元运算符)
  4. ajax中dom,在(jQuery)ajax请求中获取当前脚本DOM对象
  5. ZOJ 3735 Josephina and RPG
  6. python上传文件 request_Python request post上传文件常见要点
  7. 在Winform的DataGridView的单元格中同时显示文本和图标,以及树形结构的示例
  8. 成都电子神技大学模拟题(取模运算)
  9. hadoopsdk使用_Hadoop的一些基本操作
  10. java web网上书城_javaweb网上书城项目
  11. fopen()函数的文件模式
  12. 中心极限与大数定理律的关系_中心极限定理的最最通俗解释
  13. 苏宁金融一站式API网关演进之路
  14. linux livecd 挂载硬盘,网上的Ubuntu LiveCD硬盘安装方法
  15. A7芯片 IOS降级 跳过ID | ipad Mini2降级 10.3.3
  16. 现代电力电子期末考试
  17. 使用Uber-go Zap日志库
  18. P1664 每日打卡心情好
  19. sphinx 编码 php文档,用Sphinx编写技术文档
  20. 高斯判别分析 matlab,机器学习导论(5)–GDA高斯判别模型

热门文章

  1. redis 必知必会
  2. Java Web开发框架对比
  3. ubuntu 安装完oracle之后没有sqlplus,Ubuntu12.04(amd64)装完Oracle11gR2后各种问题解决方法...
  4. oracle的mvcc解析,PostgreSQL原理:Oracle 和 MySQL 中MVCC机制详解
  5. java的四大作用域_JSP中的四大作用域
  6. 让计算机开口说话教案,会说话的安全标志中班教案
  7. 铁威马NAS教程之如何为NAS创建新用户
  8. JS实现计算器(一)
  9. 6. GC 调优(工具篇) - GC参考手册
  10. element中Dialog和MessageBox弹框按钮和关闭图标样式修改