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),实现对远程服务器的表进行操作,或者实现数据库数据的分布式存储