mysql Federated 引擎

本文介绍了MySQL中的Federated引擎,它类似于Oracle的DBLINK功能,允许用户通过表级别的映射来访问远程数据库。Federated引擎使用标准的MySQL客户端协议建立与远程数据库的TCP连接,并且要求本地表结构与远程表结构完全一致。文章还提供了如何启用和配置Federated引擎的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Federated引擎类似oracle的DBLINK的功能。可以基于这个特性对分布式的数据库做一些应用

Federated引擎是基于表级别的,只能将本地数据表定义为 Federated 引擎并映射至远程实体表,无法实现基于库级别的整体映射。映射表必须要设置为federated,实体表不需要。
其原理使用标准的 MySQL 客户端协议与远程数据库建立 TCP 连接。
需要注意本地的表结构必须与远程的完全一样。该引擎不支持事务,不支持表结构修改。

1.MYSQL命令行,查看FEDERATED引擎是否开启,默认是不开启
>show engines;

2.如果没有开启
配置my.cnf
[mysqld]
Federated

3.重启MYSQL服务器
Service mysqld restart

4.简单使用
mysql> show create table test1;
| test1 | CREATE TABLE `test1` (
`id` int(11) DEFAULT NULL,
`name` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

确保两边表一致,更改ENGINE 和 connection。

Connection格式是 mysql://usrname:password@ip:port/DBname/tablename

CREATE TABLE `test1` (
`id` int(11) DEFAULT NULL,
`name` varchar(30) DEFAULT NULL
) ENGINE=federated connection="mysql://root:root@192.20.34.126:3306/test/test1";

然后可以测试,在一端做insert或者delete,select看到的数据完全一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值