gpt4 book ai didi

Mysql 开启Federated引擎的方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Mysql 开启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引擎的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com