"DBLink"之所以用引号是因为mysql没有dblink的功能,而是通过 “FEDERATED” 来实现跨库操作的;
首先我们在mysql查询 “FEDERATED” 是否存在并开启;
show engines;
可以看到存在 “FEDERATED”是存在的,但是并未开启;
第二部我们修改mysql配置文件,让mysql支持“FEDERATED”引擎--只需要在my.cnf 文件中加入一行参数即可,如图:
再次查询 “FEDERATED” 是否存在并开启;我们看到FEDERATED已经变成了’YES‘
之后我们就可以使用 FEDERATED引擎来创建跨不同数据的表创建实例了,sql如下:
CREATE SERVER fedlk3
FOREIGN DATA WRAPPER mysql
OPTIONS (USER '目标数据库用户名',PASSWORD '密码', HOST 'xx.xx.xx.xx', PORT 端口, DATABASE '目标数据库');
CREATE TABLE `新增表` (
。。。。
字段、属性等。。。
)
ENGINE = FEDERATED DEFAULT CHARSET=utf8 CONNECTION = 'fedlk3/目标表';
通过CREATE SERVER 我们将目标数据库连接保存起来,然后在创建时调用数据库连接;
这样我们的 “新增表” 创建之后,会将不同数据库内的“目标表”数据写入