mysql跨服务器的视图
前言
在这里我们用到的是 mysql 的 federated存储引擎,让我们可以访问在远程数据库的表中的数据,而不是本地的表。直接在本地构建一个federated表来连接远程数据表,配置好了之后本地表的数据可以直接跟远程数据表同步。
本文档示例 - mysql 5.6
select version() from dual;
5.6.50
开启 federated
federated 默认是关闭状态,我们可以使用 SHOW ENGINES 查看状态
SHOW ENGINES ;
开启federated存储引擎只需要在my.cnf文件中增加‘federated’,然后重启 mysql 服务即可
vim /etc/my.cnf
[mysqld]
federated
创建本地表链接到远程服务器
CREATE TABLE `audit_sys_dict` (
`dictId` int(2) NOT NULL AUTO_INCREMENT,
`dictName` varchar(100) DEFAULT NULL COMMENT '字典名字',
`dictType` varchar(100) DEFAULT NULL COMMENT '字典类别(表名+字段)(体现位置)',
PRIMARY KEY (`dictId`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=35017 DEFAULT CHARSET=utf8
ENGINE =FEDERATED CONNECTION='mysql://用户名:密码@ip:3306/数据库名/audit_sys_dict';
如上所示,我们只需在本地服务器上创建远程服务器中存在的字典表的结构即可。
评论已关闭