mysql 跨库JOIN

现有两台MYSQL数据库

一台是192.168.1.1 端口3306 上有数据库DB1 有表TABLE1
一台是192.168.1.2 端口3307 上有数据库DB2 有表TABLE2
192.168.1.1远程连接192.168.1.2数据库所使用的用户名root1 密码root1 
192.168.1.2远程连接192.168.1.1数据库所使用的用户名root2 密码root2
现在想对 TABLE1 和 TABLE2 两张表进行关联查询 请问SQL应该怎么实现

没有办法直接进行JOIN查询。

你可以在DB1中建立一个 FEDERATED 指向这个 DB2.table2 如下,然后就象在同一数据库中DB1中操作即可。

CREATE TABLE TABLE2 (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT ‘‘,
    other  INT(20) NOT NULL DEFAULT ‘0‘,
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION=‘mysql://192.168.1.2:3307/DB2/TABLE2‘;

或者:

CONNECTION=‘mysql://root2:[email protected]:3307/DB2/TABLE2‘;

来自:  http://bbs.csdn.net/topics/320196555

时间: 2024-11-07 01:17:04

mysql 跨库JOIN的相关文章

mysql跨库数据表的运算

跨库数据表的运算,一直都是一个说难不算太难,说简单却又不是很简单的.总之是一个麻烦的事.大量的.散布在不同数据库中的数据表们,明明感觉要把它们合并起来,再来个小小的计算,似乎也就那么回事……但真要做起来,需要这又忘了那的,却又不像仅仅就那么回事?        想要给这些小麻烦们,来一个快刀斩乱麻式的.嘁嚓咔嚓地一劳永逸的解决方案么?首先,你需要一把叫做集算器的宝刀(重点):然后,你可以再看看这篇算是买一赠一的秘传刀法(免费):最后,面向敌人们手起刀落……你就可以轻松愉快地去睡一个好觉了:跨库数

一次由MySQL跨库操作所引发的主从复制中断

今天,所有MySQL从服务器上的主从复制都被异常中断了,登陆到其中一台上执行show slave status\G,发现如下错误:--Last_Error: Error 'Operation DROP USER failed for 'guest'@'localhost'' on query. Default database: 'work'. Query: 'drop user 'guest'@'localhost''--也就是说,是 drop user 'guest'@'localhost'

mysql跨库联表查询

业务场景:关联不同数据库中的表的查询 比如说,要关联的表是:机器A上的数据库A中的表A && 机器B上的数据库B中的表B. 这种情况下,想执行“select A.id,B.id from A left join B on ~~~;“那是不可能的,但业务需求不可变,数据库设计不可变,这就蛋疼了.. 解决方案:在机器A上的数据库A中建一个表B... 这当然不是跟你开玩笑啦,我们采用的是基于MySQL的federated引擎的建表方式. 建表语句示例:CREATE TABLE `table_na

同主机单实例MySQL跨库同步指定表

需求: 同一主机同实例MySQL有A和B两个库,现在需实现test1库中表host和test2库中表host插入.删除.更新单向同步.(table01与table02具有相同表结构) 解决方案: 可以使用触发器实现,举例如下: 1.创建模拟环境 create database test1; use test1 CREATE TABLE `host` ( `id` tinyint(4) NOT NULL AUTO_INCREMENT, `host` varchar(20) NOT NULL, `p

MySQL跨库查询例子

库1 gxjob 库2 funshixi SELECT a.`company_id`,b.`companyname` FROM `gxjob`.`qj_activity_thousands_of_schools` AS a LEFT JOIN `funshixi`.`qj_company` AS b ON a.company_id = b.companyid; 原文地址:https://www.cnblogs.com/clubs/p/9255281.html

分库分表的几种常见玩法及如何解决跨库查询等问题

在谈论数据库架构和数据库优化的时候,我们经常会听到"分库分表"."分片"."Sharding"-这样的关键词.让人感到高兴的是,这些朋友所服务的公司业务量正在(或者即将面临)高速增长,技术方面也面临着一些挑战.让人感到担忧的是,他们系统真的就需要"分库分表"了吗?"分库分表"有那么容易实践吗?为此,笔者整理了分库分表中可能遇到的一些问题,并结合以往经验介绍了对应的解决思路和建议. 垂直分表 垂直分表在日常开

跨库数据表的运算

文章出自http://c.raqsoft.com.cn/article/1536666621882?r=niu 1.    简单合并(FROM) 所谓跨库数据表,是指逻辑上同一张数据表被分别存储在不同数据库中.其原因有可能是因为数据量太大,放在一个数据库难以处理,也可能在业务上就需要将生产库和历史库分开.而不同的数据库,可能只是部署在不同的机器上的同种数据库,也可能是连类型都不同的数据库系统. 在面对跨库数据表,特别是数据库类型都不相同的情况时,数据库自带的工具往往就力所不及了,一般都需要寻找能

微服务改造中解决跨库问题的思路

今年一直在和团队做微服务的架构改造(相关的一些详情,有兴趣的朋友,可以参见之前的这篇分享).但是做过改造的朋友都知道 从“All-In-One” 到 “Micro-Service” 都需要迈过的一个坎,那就是垂直分库, 根据不同的子服务,将数据库拆分为不同的子服务库. 那么问题就来了,在开始做微服务改造前,我发现在摇旺的老系统中,有很多后台报表或者前端详情页所需的数据是通过SQL Join来完成的.但是,我们微服务改造后,每个服务背后的数据库已经在分布不同的实例中了,所以我们已经不能继续简单在S

Mysql高手系列 - 第27篇:mysql如何确保数据不丢失的?我们借鉴这种设计思想实现热点账户高并发设计及跨库转账问题

Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 欢迎大家加我微信itsoku一起交流java.算法.数据库相关技术. 这是Mysql系列第27篇. 本篇文章我们先来看一下mysql是如何确保数据不丢失的,通过本文我们可以了解mysql内部确保数据不丢失的原理,学习里面优秀的设计要点,然后我们再借鉴这些优秀的设计要点进行实践应用,加深理解. 预备知识 mysql内部是使用b+树的结构将数据存储在磁盘中,b+树中节点对应mysql中的页,mysql和磁盘交互的最小