MySQL同个服务器下,要进行跨数据库进行查询,只需在表前加上数据库名就可以。
如果要在跨服务器查询,服务器A查询服务器B,则需要在服务器A开启federated引擎(默认关闭)以进行映射表查询。
MySQL执行show engines命令可以查看federated引擎的是否关闭状态。
启用FEDERATED引擎,Linux通过vim /etc/my.cnf修改(Windows修改my.ini),在[mysqld] 下加上federated后保存
并重启数据库服务
1 | service mysqld restart |
在mysql中创建远程服务器数据库中的需要映射的表,数据结构一样,映射表名称可以不同。
CREATE TABLE `user_remote` ( `id` bigint (20) NOT NULL COMMENT '主键' , ` name ` varchar (1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名' , `create_date` datetime NULL DEFAULT '1000-01-01 00:00:00' COMMENT '创建时间' , `created_by` bigint (20) NULL DEFAULT NULL COMMENT '创建人' ) ENGINE=FEDERATED CONNECTION = 'mysql://root:passward@172.16.10.10:3306/db/user' ; |
ENGINE=FEDERATED,使用federated引擎,修改用户名,密码,地址,端口号,数据库,表
这样就可以将远程的user表数据实时映射到hn_user表中,实现mysql跨服务器查询数据。
分类:
MySQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2019-11-02 SpringCloud之Eureka:服务发布与调用例子