打开本机已经安装的MySQL客户端连接工具,如下图所示:
新建查询,输入 Show Engines;后显示引擎列表,我们可以看到Federated对应的Support支持为NO,如下图所示:
此时我们找到MySQL的安装根目录,找到my.ini文件,如下图所示:
我们在[mysqld]配置节下面增加一行federated,如下图所示:
在服务中找到MySQL服务,然后重新启动,如下图所示:
我们在查询窗口再次输入 Show Engines;后显示引擎列表,我们可以看到Federated对应的Support支持为YES,如下图所示:
接下来我们可以在本机数据库中通过执行创建表语句从远程MySQL服务器上创建虚拟表,并可以查询到数据,如下图所示:SHOW ENGINES;-- 1、新建port_empDROP TABLE IF EXISTS `port_emp`;CREATE TABLE `port_emp` ( `No` varchar(150) NOT NULL COMMENT '登陆账号', `Name` varchar(200) DEFAULT NULL COMMENT '名称', `Pass` varchar(100) DEFAULT NULL COMMENT '密码', `FK_Dept` varchar(100) DEFAULT NULL COMMENT '主要部门', `SID` varchar(36) DEFAULT NULL COMMENT '安全校验码', `Tel` varchar(20) DEFAULT NULL COMMENT '电话', `Email` varchar(100) DEFAULT NULL COMMENT '邮箱', `PinYin` varchar(500) DEFAULT NULL COMMENT '拼音', `SignType` int(11) DEFAULT '0' COMMENT '签字类型', `Idx` int(11) DEFAULT '0' COMMENT '序号', `emp_id` int(11) DEFAULT '0', `username` varchar(150) DEFAULT NULL, `status` int(11) DEFAULT '1' COMMENT '1未激活 2正常 3禁用 4删除 5注销', `AppId` varchar(50) DEFAULT '308' COMMENT '应用程序编号', PRIMARY KEY (`No`)) ENGINE=FEDERATED CONNECTION='mysql://root:root@192.168.1.166:3306/flow_dev/port_emp' DEFAULT CHARSET=utf8 COMMENT='用户';SELECT * FROM port_emp;
本机表结构和远程表结构要完全一致,如果远程表修改,在需要同步修改本机表的创建语句
不支持事务
此种引擎仅在某些特定场合适用,因为一些性能原因,不是很常用