MySQL FEDERATED 存储引擎的使用

Posted ZhenXing_Yu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL FEDERATED 存储引擎的使用相关的知识,希望对你有一定的参考价值。

 FEDERATED 存储引擎描述

FEDERATED存储引擎能让你访问远程的mysql数据库而不使用replication或cluster技术(类似于Oracle的dblink),使用FEDERATED存储引擎的表,本地只存储表的结构信息,数据都存放在远程数据库上,查询时通过建表时指定的连接符去获取远程库的数据返回到本地。
FEDERATED存储引擎默认不启用
    如果是使用的源码,需要使用CMake 加上DWITH_FEDERATED_STORAGE_ENGINE选项。
    如果是二进制包,则在启动MySQL时指定 [--federated] 选项开启或在my.cnf文件中的[mysqld]部分加上federated参数

 

 FEDERATED 存储引擎架构

1 本地服务器 FEDERATED 存储引擎的表只存放表的.frm结构文件
2 远程服务器 存放了.frm和数据文件
3 增删改查操作都是通过建立的连接来访问远程数据库进行操作,把结果返回给本地。
4 远程数据表的存储引擎为MySQL支持的存储引擎,如MyISAM,InnoDB等

 

技术分享

 

 FEDERATED 存储引擎操作步骤

操作步骤:
    远程库:
        开启 FEDERATED 存储引擎
        建立远程访问用户
        授予访问对象的权限
    本地库:
        测试登陆远程库是否能成
            防火墙问题
            selinux问题
        创建 FEDERATED 表
        查询是否成功

 

远程库

开启 FEDERATED 存储引擎

(root@localhost) [(none)]>show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | 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        |
| ARCHIVE            | YES     | Archive 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         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

 

 

 

以上是关于MySQL FEDERATED 存储引擎的使用的主要内容,如果未能解决你的问题,请参考以下文章

使用MySQL联合存储引擎(FEDERATED),实现对远程服务器的表进行操作,或者实现数据库数据的分布式存储

使用MySQL联合存储引擎(FEDERATED),实现对远程服务器的表进行操作,或者实现数据库数据的分布式存储

使用FREDATED引擎实现跨实例訪问

mysql添加Federated引擎问题

mysql远程表链接

MySQLFederated引擎与Federated Server访问远程数据