背景
在服务高度拆分,数据库不断细化切分的情况下,我们经常有连接多台数据库查询的需求,如果不断的把数据库连接的逻辑添加在代码中,那么这种耦合会越来越严重,这会给程序的拓展和维护带来很大的麻烦。
mysql的federated引擎,可以在本地创建远程数据库的映射表,创建完后,拓扑如下:
如此,我们可以在本地构建多个远程数据库库的统一入口,这样可以极大的简化在分布式环境中,跨服务器数据库的交互查询问题。
1.开启引擎
查询数据库是否支持
SHOW ENGINES;
有,说明支持,但是没有开启,开启一下:
配置文件添加:federated,如下:
[mysqld]
federated
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70%