• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > Mysql 开启Federated引擎的方法

Mysql 开启Federated引擎的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql federated,federated存储引擎,federated,mariadb federated,skip 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中增加一行

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

SQL>show engines;

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;
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                        &

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Mysql 开启Federated引擎的方法

相关文章

  • 2018-12-05全文本检索的应用(1)
  • 2018-12-05MySql .frm数据库文件导入的问题
  • 2018-12-05优化MySQL中的分页
  • 2018-12-05windows下mysql忘记root密码的解决方法
  • 2018-12-05My Sql 1067错误兼编码问题解决
  • 2018-12-05MySQL架构由小变大的演变过程的详情
  • 2017-05-11在SQL中获取一个长字符串中某个字符串出现次数的实现方法
  • 2018-12-05通过mysqli扩展技术实现数据库信息的检索
  • 2018-12-05MySQL的聚簇索引、非聚簇索引及其查询解析方法
  • 2018-12-05关于MySQL5.6.27在Linux下的安装教程分享(图)

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SQL Server 2008R2编写脚本时智能提示功能丢失的处理方法
    • 关于MySQL建立新用户并授权的方法
    • 使如何使项目的并发性更高?利用ID自增保证排队顺序
    • MySQL创建用户并授权及撤销用户权限
    • redhat 5.4下安装MYSQL全过程
    • 通过mysql-proxy完成mysql读写分离
    • mysql数据控制语言实例分享
    • MySQL字段处理方法
    • 在Oracle中利用SQL_TRACE跟踪SQL的执行
    • mysql替换表中的字符串的sql语句

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有