Mysql跨服务器查询
最近遇到一个问题,需要在两个服务上的两个数据库进行联表查询,本以为一两句SQL语句就能把问题解决,后来发现没有这么简单。
原因很简单,Mysql虽然支持同一服务器上跨数据库的联表查询(我用的版本是5.0,经证实可行),但并不支持跨服务器。网上有一些跨服务器联表查询的SQL语句,但都是SQL SERVER的,并不适合MYSQL。后来用Hibernate配了两个数据源,想用HQL来查询,结果失败(后来才发现虽然是配了两个数据库,但是还是用的2个seesion)。于是经过大半天的Search和Practise,发现至少有两种解决方法。
以前做数学题,老是要进行
化归,即把未知的、不懂的转化为自己已知的来进行解决、实现。
第一种、程序层的解决方法
比较笨,但是操作起来却很简单。你想想,MYSQL不能帮你联表查,但是可以分开查询,把两个结果先记录下来,让JAVA语句来执行联表关系的操作,若还需要更新,再把最后的结果分别更新到两个服务器上。这种方法虽然效率低,但是容易理解,易于实现。
第二种、数据库层的解决方法
1、简单来说,先将A服务器数据库中需用到的表导出,导入B服务器上数据库,查询,若有更新再返回去 (貌似Mysql里面有个叫同步复制,有兴趣的朋友可以去查一下参考文档)
2、也可以使用MySQL FEDERATED存储引擎
其实他的原理和第二种方法一样,只不过不用手动而,须要配置一下,网上有很多介绍怎么用的例子,我就不多述了
其实支持这方面的插件已经有了,不过有兴趣的朋友可以自己尝试一下
分享到:
相关推荐
sql跨服务器查询,很简单的一条语句,适用范围广泛.
这个脚本实现了跨服务器增量同步mysql数据的功能,可以同步多个表。 在使用这个脚本的时候需要注意有修改的地方就是源表配置、目标表配置需要修改成自己的服务器和登录mysql数据库的用户名和密码。基础配置中需要...
主要介绍了MYSQL跨服务器同步数据详细过程,需要的朋友可以参考下
mircrosoft sql server跨服务器连接脚本,可进行查询、更新等操作
业务场景:关联不同数据库中的表的查询 比如说,要关联的表是:机器A上的数据库A中的表A && 机器B上的数据库B中的表B。 这种情况下,想执行“select A.id,B.id from A left join B on ~~~;“那是不可能的,但业务...
跨库跨服务器的多表关联查询, 如若大家需要欢迎下载,大家一起交流经验!
跨服务器建立视图sql,经验证测试,可以使用
MySQL不同服务器上的两个表进行关联一、首先不在一个服务器上的两个表无法直接关联二、曲线救国三、启动FEDERATED 引擎四、建立映射表五、使用关联查询 一、首先不在一个服务器上的两个表无法直接关联 举例: 情景...
跨服务器间从一个数据库复制数据到另一个数据。
查询日志(query log):可选地记录所有发送到MySQL服务器的SQL查询,用于调试和审计。 慢查询日志(slow query log):记录执行时间超过指定阈值的查询,帮助识别和优化性能瓶颈。 应用场景 MySQL广泛应用于...
JAVA实现跨数据库服务器数据导出导入功能 可以是SQLSERVER 到MYSQL 之间的数据之间导入导出功能
跨数据库服务器,跨实例访问是比较常见的一种访问方式,在Oracle中可以通过DB LINK的方式来实现。对于MySQL而言,有一个FEDERATED存储引擎与之相对应。同样也是通过创建一个链接方式的形式来访问远程服务器上的数据...
MySQL数据库,有很多跨服务器访问的情况.SQL Server使用链接服务器实现跨服务器访问,而MySQL是通过Federated引擎实现的。
MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL ...
mysql:存储MySQL自身的系统信息,如用户权限、服务器配置、事件调度等。 performance_schema:自MySQL 5.5版本引入,用于收集服务器性能数据,帮助诊断和优化系统性能。 test(非必要):默认提供的测试数据库,...
如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。 MySQL逻辑架构,来自:高性能MySQL MySQL逻辑架构整体分为三层,最上层为客户端层,并非...
第二层实现了 MySQL 核心服务功能,包括查询解析、分析、优化、缓存以及日期和时间等所有内置函数,所有跨存储引擎的功能都在这一层实现,例如存储过程、触发器、视图等。 第三层是存储引擎层,存储引擎负责 MySQL ...
db服务器连接mysql+redis高可用高性能框架干货1、使用c++语言,vs2019开发垮平台[windows和linux]连接MySql和redis框架。2、使用MySql持久化玩家数据,redis做玩家数据缓存层,redis不做数据持久化。mysql搭配redis...