mysql Federated 引擎

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:[email protected]:3306/test/test1";

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

猜你喜欢

转载自iamh.iteye.com/blog/2290620