mysql - 跨实例访问
业务场景
通过 A 数据库的连接,访问 B 库的数据。
有时候,只是需要访问数据库的一两张表,并不是十分乐意新增一个数据源。
解决方案
这时候,就可以考虑,是否启用 FEDERATED 存储引擎,
如果需要在一个项目中配置多个数据源,可以考虑苞米豆的 dynamic-datasource
启用 FEDERATED 存储引擎
输入 show engines; 可以查看 MySQL 是否支持 FEDERATED,默认是不支持的
show engines;
在 windows 下只需要在 mysql 的配置文件 my.ini 最末尾加上一句 federated ,然后重启 mysql 即可。
如果找不到 my.ini,文件夹地址输入框输入 %ProgramData%,找到 MySQL 文件夹。
建表的语句
参数和jdbc很像,主要就是配置数据库连接,创建一张表,连接上别的数据库。
CREATE TABLE xxx(...) ENGINE=FEDERATED CONNECTION='mysql://[name]:[password]@[location]:[port]/[db-name]/[table-name]'
例:
CREATE TABLE `t_work_task` (
`id` varchar(36) NOT NULL,
`work_date_end` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=FEDERATED DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='作业任务' CONNECTION='mysql://rgyx_hlj:rgyx_hlj@127.0.0.1/rgyx_hlj/t_work_task';
注意:本质上,只是通过一个数据库,连接上了另一个,只是方便编程,并没有减轻数据存储的压力
疯狂的妞妞 :每一天,做什么都好,不要什么都不做!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY