丁丁生于 1987.07.01 ,30岁,英文ID:newflydd
MySQL FEDERATED引擎创建跨库同步表
###MySQL FEDERATED引擎创建跨库同步表
该功能类似于Oracle的DBLink,可以跨库、跨服务器查询和关联。首先检查是否支持FEDERATED引擎:
```
show engines
```
| engine | support |
| ------------ | ------------ |
| PERFORMANCE_SCHEMA | YES |
| MyISAM | YES |
| MRG_MYISAM | YES |
| MEMORY | YES |
| InnoDB | DEFAULT |
| FEDERATED | YES |
| CSV | YES |
| BLACKHOLE | YES |
| ARCHIVE | YES |
如果提示FEDERATED的SUPPORT为NO,说明MySQL安装了Federated引擎,但是没有启用,此时需要修改`mysql.ini` | `mysql.cnf` 文件,在最后添加一行`FEDERATED`,重启MySQL即可。
如果上述列表压根没有出现FEDERATE条目,说明MySQL服务器版本太低或者安装时不完全,请做好备份重新安装最新的版本。
接下来在需要的库中创建镜像表,表结构需要跟原始表完全一致,示例代码如下
```
CREATE TABLE `weight`(
`Id` int(11) NOT NULL AUTO_INCREMENT,
`weight` float(4,1) DEFAULT '0.0',
`createat` datetime DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=FEDERATED CONNECTION='mysql://username:password@host:port/db_name/table_name'
```